ystem/src/c867e20322b8b21d905cf4914db09d51295e400b/node_modules/caniuse-db/region-usage-json/HU.json" class="text truncate">HU.json 11e3a9652a first 7 years ago ID.json 11e3a9652a first 7 years ago IE.json 11e3a9652a first 7 years ago IL.json 11e3a9652a first 7 years ago IM.json 11e3a9652a first 7 years ago IN.json 11e3a9652a first 7 years ago IQ.json 11e3a9652a first 7 years ago IR.json 11e3a9652a first 7 years ago IS.json 11e3a9652a first 7 years ago IT.json 11e3a9652a first 7 years ago JE.json 11e3a9652a first 7 years ago JM.json 11e3a9652a first 7 years ago JO.json 11e3a9652a first 7 years ago JP.json 11e3a9652a first 7 years ago KE.json 11e3a9652a first 7 years ago KG.json 11e3a9652a first 7 years ago KH.json 11e3a9652a first 7 years ago KI.json 11e3a9652a first 7 years ago KM.json 11e3a9652a first 7 years ago KN.json 11e3a9652a first 7 years ago KP.json 11e3a9652a first 7 years ago KR.json 11e3a9652a first 7 years ago KW.json 11e3a9652a first 7 years ago KY.json 11e3a9652a first 7 years ago KZ.json 11e3a9652a first 7 years ago LA.json 11e3a9652a first 7 years ago LB.json 11e3a9652a first 7 years ago LC.json 11e3a9652a first 7 years ago LI.json 11e3a9652a first 7 years ago LK.json 11e3a9652a first 7 years ago LR.json 11e3a9652a first 7 years ago LS.json 11e3a9652a first 7 years ago LT.json 11e3a9652a first 7 years ago LU.json 11e3a9652a first 7 years ago LV.json 11e3a9652a first 7 years ago LY.json 11e3a9652a first 7 years ago MA.json 11e3a9652a first 7 years ago MC.json 11e3a9652a first 7 years ago MD.json 11e3a9652a first 7 years ago ME.json 11e3a9652a first 7 years ago MG.json 11e3a9652a first 7 years ago MH.json 11e3a9652a first 7 years ago MK.json 11e3a9652a first 7 years ago ML.json 11e3a9652a first 7 years ago MM.json 11e3a9652a first 7 years ago MN.json 11e3a9652a first 7 years ago MO.json 11e3a9652a first 7 years ago MP.json 11e3a9652a first 7 years ago MQ.json 11e3a9652a first 7 years ago MR.json 11e3a9652a first 7 years ago MS.json 11e3a9652a first 7 years ago MT.json 11e3a9652a first 7 years ago MU.json 11e3a9652a first 7 years ago MV.json 11e3a9652a first 7 years ago MW.json 11e3a9652a first 7 years ago MX.json 11e3a9652a first 7 years ago MY.json 11e3a9652a first 7 years ago MZ.json 11e3a9652a first 7 years ago NA.json 11e3a9652a first 7 years ago NC.json 11e3a9652a first 7 years ago NE.json 11e3a9652a first 7 years ago NF.json 11e3a9652a first 7 years ago NG.json 11e3a9652a first 7 years ago NI.json 11e3a9652a first 7 years ago NL.json 11e3a9652a first 7 years ago NO.json 11e3a9652a first 7 years ago NP.json 11e3a9652a first 7 years ago NR.json 11e3a9652a first 7 years ago NU.json 11e3a9652a first 7 years ago NZ.json 11e3a9652a first 7 years ago OM.json 11e3a9652a first 7 years ago PA.json 11e3a9652a first 7 years ago PE.json 11e3a9652a first 7 years ago PF.json 11e3a9652a first 7 years ago PG.json 11e3a9652a first 7 years ago PH.json 11e3a9652a first 7 years ago PK.json 11e3a9652a first 7 years ago PL.json 11e3a9652a first 7 years ago PM.json 11e3a9652a first 7 years ago PN.json 11e3a9652a first 7 years ago PR.json 11e3a9652a first 7 years ago PS.json 11e3a9652a first 7 years ago PT.json 11e3a9652a first 7 years ago PW.json 11e3a9652a first 7 years ago PY.json 11e3a9652a first 7 years ago QA.json 11e3a9652a first 7 years ago RE.json 11e3a9652a first 7 years ago RO.json 11e3a9652a first 7 years ago RS.json 11e3a9652a first 7 years ago RU.json 11e3a9652a first 7 years ago RW.json 11e3a9652a first 7 years ago SA.json 11e3a9652a first 7 years ago SB.json 11e3a9652a first 7 years ago SC.json 11e3a9652a first 7 years ago SD.json 11e3a9652a first 7 years ago SE.json 11e3a9652a first 7 years ago SG.json 11e3a9652a first 7 years ago SH.json 11e3a9652a first 7 years ago SI.json 11e3a9652a first 7 years ago SK.json 11e3a9652a first 7 years ago SL.json 11e3a9652a first 7 years ago SM.json 11e3a9652a first 7 years ago SN.json 11e3a9652a first 7 years ago SO.json 11e3a9652a first 7 years ago SR.json 11e3a9652a first 7 years ago ST.json 11e3a9652a first 7 years ago SV.json 11e3a9652a first 7 years ago SY.json 11e3a9652a first 7 years ago SZ.json 11e3a9652a first 7 years ago TC.json 11e3a9652a first 7 years ago TD.json 11e3a9652a first 7 years ago TG.json 11e3a9652a first 7 years ago TH.json 11e3a9652a first 7 years ago TJ.json 11e3a9652a first 7 years ago TK.json 11e3a9652a first 7 years ago TL.json 11e3a9652a first 7 years ago TM.json 11e3a9652a first 7 years ago TN.json 11e3a9652a first 7 years ago TO.json 11e3a9652a first 7 years ago TR.json 11e3a9652a first 7 years ago TT.json 11e3a9652a first 7 years ago TV.json 11e3a9652a first 7 years ago TW.json 11e3a9652a first 7 years ago TZ.json 11e3a9652a first 7 years ago UA.json 11e3a9652a first 7 years ago UG.json 11e3a9652a first 7 years ago US.json 11e3a9652a first 7 years ago UY.json 11e3a9652a first 7 years ago UZ.json 11e3a9652a first 7 years ago VA.json 11e3a9652a first 7 years ago VC.json 11e3a9652a first 7 years ago VE.json 11e3a9652a first 7 years ago VG.json 11e3a9652a first 7 years ago VI.json 11e3a9652a first 7 years ago VN.json 11e3a9652a first 7 years ago VU.json 11e3a9652a first 7 years ago WF.json 11e3a9652a first 7 years ago WS.json 11e3a9652a first 7 years ago YE.json 11e3a9652a first 7 years ago YT.json 11e3a9652a first 7 years ago ZA.json 11e3a9652a first 7 years ago ZM.json 11e3a9652a first 7 years ago ZW.json 11e3a9652a first 7 years ago alt-af.json 11e3a9652a first 7 years ago alt-an.json 11e3a9652a first 7 years ago alt-as.json 11e3a9652a first 7 years ago alt-eu.json 11e3a9652a first 7 years ago alt-na.json 11e3a9652a first 7 years ago alt-oc.json 11e3a9652a first 7 years ago alt-sa.json 11e3a9652a first 7 years ago alt-ww.json 11e3a9652a first 7 years ago pai2 - Gogs: Go Git Service

拍爱

watermark_utils.py 2.0KB

    # -*- coding: utf-8 -*- try: import Image import ImageEnhance except ImportError: from PIL import Image, ImageEnhance def reduce_opacity(im, opacity): """Returns an image with reduced opacity.""" assert 0 <= opacity <= 1 im = im.convert('RGBA') if im.mode != 'RGBA' else im.copy() alpha = im.split()[3] alpha = ImageEnhance.Brightness(alpha).enhance(opacity) im.putalpha(alpha) return im def watermark(im, mark, position, opacity=1): """Adds a watermark to an image.""" if opacity < 1: mark = reduce_opacity(mark, opacity) if im.mode != 'RGBA': im = im.convert('RGBA') # create a transparent layer the size of the image and draw the # watermark in that layer. layer = Image.new('RGBA', im.size, (0, 0, 0, 0)) if position == 'tile': for y in range(0, im.size[1], mark.size[1]): for x in range(0, im.size[0], mark.size[0]): layer.paste(mark, (x, y)) elif position == 'scale': # scale, but preserve the aspect ratio ratio = min( float(im.size[0]) / mark.size[0], float(im.size[1]) / mark.size[1]) w = int(mark.size[0] * ratio) h = int(mark.size[1] * ratio) mark = mark.resize((w, h)) layer.paste(mark, ((im.size[0] - w) / 2, (im.size[1] - h) / 2)) else: layer.paste(mark, position) # composite the watermark with the layer return Image.composite(layer, im, layer) def watermark_wrap(im_path, mark_path, save_path=''): im, mark = Image.open(im_path), Image.open(mark_path) new_im = watermark(im, mark, (50, 50), 0.5) new_im.save(save_path or im_path) def watermark_test(): im, mark = Image.open('original_CGzC_10a50000c8811190.jpg'), Image.open('paiai_96_96.png') watermark(im, mark, 'tile', 0.5).show() watermark(im, mark, 'scale', 1.0).show() watermark(im, mark, (50, 50), 0.5).show() if __name__ == '__main__': # watermark_test() watermark_wrap('original_CGzC_10a50000c8811190.jpg', 'paiai_96_96.png')