import Image from get_png import getpng def transparent(infile): #open png,covert it into 'RGBA mode',resize it,get data then make a datalist datalist=list(Image.open(infile,'r').convert('RGBA').resize((1000,1000),Image.BILINEAR).getdata()) #color(0,0,0,0) is transparent newim=Image.new("RGBA",(1000,1000),(0,0,0,0)) for x in range(1000): for y in range(1000): #color(255,255,255,255) is 'white' if datalist[1000*y+x]==(255,255,255,255): newim.putpixel((x,y),(255,255,255,255)) else: pass newim.save("1000_1000.png") return "1000_1000.png"
以上生成了透明文件
import Image import ImageDraw import ImageFont #增加水印.直接寫入文件. def watermask(qq_screencapture_file): print(qq_screencapture_file) #寫入兩行文件. sign_text1 = u'版權聲明:本文為博主原創,未經允許不得轉載。' sign_text2 = u'博主地址:http://www.www.www' #字體必須大於等於19才可以輸出漢字,過小可能該庫渲染不起來,具體原因不清楚。 font = ImageFont.truetype('simhei.ttf',19) img = Image.open(qq_screencapture_file) #獲得圖片長和寬,將文字寫到最底下. width,height = img.size #img = Image.new("RGBA",(300,200),(0,0,0)) draw = ImageDraw.Draw(img) #draw.text( (0,50), u'你好,世界!', font=font) # draw.text( (0,50), unicode(txt,'UTF-8')) draw.text((20,height-50),sign_text1,fill='#ff0000', font=font) draw.text((20,height-30),sign_text2,fill='#ff0000', font=font) del draw #正好qq圖片是png的. img.save(qq_screencapture_file, "PNG") print("finish.")
以上寫入了文字