又是为站佬们服务(写)水文的一篇,如何应用python来生成或者说是合成自己的原创图片,适合各位站群大佬哥们生成自己的图片,避免没有配图或者侵权碰瓷的尴尬,当然本渣渣这里分享的仅仅是源码demo,后续使用到生产上,还是需要修改的。
随着互联网越来越规范,关于版权方面的意思也愈发增强,同时各种维权,以及侵权时有发生,而网站配图还是需要有的,毕竟图文并茂,同时网页快照能有图片,无疑是非常有利于用户及搜索引擎的。
下面本渣渣就通过几个 demo 来为大家简单谈谈如何应用 Python 生成自己网站的原创图片,麻麻再也不用担心我的网站配图了!
使用到的第三方库
pygame
库安装
pipinstallpygame
PIL
库安装
pipinstallpygame
qrcode
库安装
pipinstallqrcode
几个简单的demo源码参考
应用 pygame 库文字转图片
#文字生成图片#微信:huguo00289#-*-coding:utf-8-*-#载入必要的模块importpygame#pygame初始化pygame.init()#待转换文字text=u"文字转图片"#设置字体和字号font=pygame.font.SysFont('microsoftyahei',200)#渲染图片,设置背景颜色和字体样式,前面的颜色是字体颜色ftext=font.render(text,True,(65,83,130),(255,255,255))#保存图片pygame.image.save(ftext,"image.jpg")#图片保存地址
运行效果:
应用 PIL 库文字转图片
#文字生成图片#微信:huguo00289#-*-coding:utf-8-*-#importosfromPILimportImage,ImageFont,ImageDrawtext=u"这是一段测试文本"#文字信息im=Image.new("RGB",(300,200),(255,255,255))#设置色彩模式,图片大小,颜色dr=ImageDraw.Draw(im)#font=ImageFont.truetype(os.path.join("fonts","msyh.ttf"),14)font=ImageFont.truetype(font="msyh.ttf",size=20,encoding="utf-8")#设置字体及大小dr.text((50,80),text,font=font,fill="#000000")#设置xy坐标轴,填充颜色im.show()#展示图片im.save(r'output.png')#保存图片
运行效果:
此案例demo比较适合成语、词语、文学类网站生成配图使用!
应用 PIL 库合并图片
#合成图片#微信:huguo00289#-*-coding:utf-8-*-fromPILimportImageimg1=Image.open("hz.jpg")#打开文件1img2=Image.open("a.jpg")#打开文件2img1.paste(img2,(535,295))#添加到海报上x,y轴参数img1.show()#展示图片img1.save(r'hctp.jpg')#保存海报
运行效果:
应用 PIL 库文字写入图片或生成水印图片
#文本写入图片#微信:huguo00289#-*-coding:utf-8-*-fromPILimportImageFont,ImageDraw,Imageimg=Image.open("a.jpg")#打开图片draw=ImageDraw.Draw(img)#读取fnt=ImageFont.truetype('msyh.ttf',50)#设置字体及大小text1="人生什么时候"draw.text((100,120),text1,fill='blue',font=fnt)#写入文本1位置坐标颜色text2="都不晚"draw.text((100,240),text2,fill='blue',font=fnt)#写入文本2img.save("txtout.jpg")#保存图片
运行效果:
应用 qrcode 库文字生成二维码图片
#网址二维码生成图片#微信:huguo00289#-*-coding:utf-8-*-importqrcode#make简单调用defsc():site=""#content="二维码生成器"QR_name='code.png'#二维码名称#QR_code=qrcode.make(content)#生成二维码QR_code=qrcode.make(site)#生成二维码QR_code.save(QR_name)#保存二维码QR_code.show()#可修改参数属性正常调用defzc():site=""QR_name='code.png'#二维码名称#实例化QRCode生成qr对象qr=qrcode.QRCode(version=1,#控制二维码的大小,取值范围从1到40。取最小值1时,二维码大小为21*21。error_correction=qrcode.constants.ERROR_CORRECT_H,#控制二维码纠错级别box_size=10,#控制二维码中每个格子的像素数,默认为10border=2#控制二维码四周留白包含的格子数,默认为4)#传入数据qr.add_data(site)#qr.make(fit=True)#fit=true参数(默认)时,二维码会自动调整大小#生成二维码img=qr.make_image()#保存二维码img.save(QR_name)#展示二维码img.show()if__name__=='__main__':#sc()zc()
运行效果:
综合应用demo案例:文字水印二维码合成图片
#文字水印二维码合成图片#微信:huguo00289#-*-coding:utf-8-*-importqrcodeimporttimeimportosfromPILimportImageFont,ImageDraw,ImageclassCreateimg(object):def__init__(self,txt,site,bgimg):self.txt=txtself.site=siteself.bgimg=Image.open(bgimg)self.txt_img="txt_img.jpg"self.code_img="txt_img.png"self.create_img=f'{int(time.time())}.jpg'#生成10位时间戳图片名defwrite_txt_img(self):draw=ImageDraw.Draw(self.bgimg)#读取fnt=ImageFont.truetype('msyh.ttf',50)#设置字体及大小draw.text((100,120),self.txt,fill='red',font=fnt)#写入文本1位置坐标颜色self.bgimg.show()#显示图片self.bgimg.save(self.txt_img)#保存图片print("文字写入图片成功!")defcreate_code(self):#实例化QRCode生成qr对象qr=qrcode.QRCode(version=1,#控制二维码的大小,取值范围从1到40。取最小值1时,二维码大小为21*21。error_correction=qrcode.constants.ERROR_CORRECT_H,#控制二维码纠错级别box_size=10,#控制二维码中每个格子的像素数,默认为10border=2#控制二维码四周留白包含的格子数,默认为4)#传入数据qr.add_data(self.site)img=qr.make_image()img.save(self.code_img)img.show()print("生成二维码成功!")defmerge_imgs(self):img1=Image.open(self.txt_img)#打开文件1img2=Image.open(self.code_img)#打开文件2img1.paste(img2,(535,295))#添加到海报上x,y轴参数img1.show()#展示图片img1.save(self.create_img)#保存海报print("合并图片成功!")defmain(self):self.write_txt_img()#写入文本信息self.create_code()#生成二维码图片self.merge_imgs()#合成图片os.remove(self.txt_img)#删除写入文本图片os.remove(self.code_img)#删除二维码图片if__name__=='__main__':bgimg=r'hz.jpg'txt=u"文字水印二维码合成图片"site=""C=Createimg(txt,site,bgimg)#初始化C.main()
运行效果:
注意:应用以上方法的时候一定要使用免费可商用字体及免费可商用图片作为背景图使用!
以上代码仅供参考,如想要学习研究,不妨多参考一下文末附上的参考链接。
参考链接:
1.Python之文字转图片方法
/article/139839.htm
2.python实现文字转图片
/p/149445150
3.【Python实例分析】批量生成海报--自动添加姓名和二维码
/aa12551827/article/details/109029222
4.python使用PIL给图片添加文字生成海报示例
/article/151118.html
5.python之qrcode模块生成二维码
/p/c0073c6aa544
6.Python使用qrcode二维码库生成二维码方法详解
/article/180609.htm
7.Python往图片写入文字,插入图片的方法
/caimengxin/article/details/119793566
·················END·················
你好,我是二大爷,
革命老区外出进城务工人员,
互联网非早期非专业站长,
喜好python,写作,阅读,英语
不入流程序,自媒体,seo . . .
公众号不挣钱,交个网友。
读者交流群已建立,找到我备注 “交流”,即可获得加入我们~
听说点 “在看” 的都变得更好看呐~
关注关注二大爷呗~给你分享python,写作,阅读的内容噢~
扫一扫下方二维码即可关注我噢~
关注我的都变秃了
说错了,都变强了!
不信你试试
扫码关注最新动态
公众号ID:eryeji
如果觉得《文字转图片 文字水印图片 合成图片 教你 Python 生成网站原创配图!》对你有帮助,请点赞、收藏,并留下你的观点哦!