·

行数没啥意义,你这不符合pep,还能少好几行

Replies
3
import glob,os,math
from PIL import Image,ImageFont,ImageDraw,ImageEnhance,ImageOps
def gen(im):
    mark=Image.new('RGBA',(len('我是水印')*50,round(50*1.2))) #生成文字,透明度
    ImageDraw.Draw(mark).text((0,0),'我是水印','#6e6e6e',ImageFont.truetype('C:/Windows/Fonts/msyhbd',50))
    mark.putalpha(ImageEnhance.Brightness(mark.split()[3]).enhance(0.5))
    c=int(math.sqrt(im.size[0]**2+im.size[1]**2)) #以斜边长度为宽高创建大图(旋转后大图才足以覆盖原图)
    y,idx,mark2=0,0,Image.new('RGBA',(c,c))
    while y<c: #制造x坐标错位
        x,idx=-int((mark.size[0]+75)*0.5*idx),(idx+1)%2
        while x<c:mark2.paste(mark,(x,y));x=x+mark.size[0]+75
        y=y+mark.size[1]+75 #将大图旋转一定角度,并在原图上添加大图水印
    im.paste(mark2.rotate(30),(int((im.size[0]-c)/2),int((im.size[1]-c)/2)),mark2.rotate(30))
    return im
for n in glob.glob('./ppppp/*'):gen(ImageOps.exif_transpose(Image.open(n))).save('.\\'+os.path.basename(n)),os.remove(n)

啥也不是

你这种精简毫无意义,并没有提高运行速度(1%以上)