快捷搜索:
来自 计算机编程 2019-07-15 08:57 的文章
当前位置: 67677新澳门手机版 > 计算机编程 > 正文

每一日二个小程序

题目

Python 练习册,每一日三个小程序----第0000题,python0000

题目

第 0000 题: 将您的 QQ 头像(也许今日头条头像)右上角加上花青的数字,类似于微信未读音讯数据这种提示功用。 类似于图中作用

图片 1

 

Code:

 1 from PIL import Image,ImageDraw,ImageFont
 2 # path = "F:Python LearningPython_Exercise"
 3 # 读取图片数据
 4 iconPath = r"ImageWeChart.png"
 5 # labelPath = r"Image圆圈.png"
 6 iconImage=Image.open(iconPath,'r')
 7 # labelImage = Image.open(labelPath,"r")
 8 
 9 # # 标签上写字
10 # user_font = ImageFont.truetype('simsun.ttc',80)
11 # draw = ImageDraw.Draw(labelImage)
12 # draw.text((int(labelImage.size[0]/4),int(labelImage.size[1]/7)),u'24',font=user_font)
13 # labelImage.save("final.png","PNG")
14 
15 # 组合Icon
16 icon = Image.new("RGBA",(iconImage.size[0] 105,iconImage.size[1] 105))
17 # iconImage.paste(labelImage,(int(iconImage.size[0]-labelImage.size[0]/2-1),0))
18 # iconImage.save("final.png","PNG")
19 # 右上角数字标签会导致图片尺寸变大
20 icon.paste(iconImage,(0,54))
21 draw = ImageDraw.Draw(icon)
22 # 直接在图片上画圆
23 draw.ellipse([(iconImage.size[0]-100,5),(iconImage.size[1] 100,205)],"red")
24 user_font = ImageFont.truetype('simsun.ttc',100)
25 # 标注数字
26 draw.text((iconImage.size[0]-50,50),u'24',"white",font=user_font)
27 icon.save("final.png","PNG")

Result:

图片 2

总结:

Pillow API 学习

API 文书档案路径:

 

(1) PIL.Image.new(mode,size,color)

  mode: 新图片的方式,如凯雷德GB,灰度图相等

  size: 新图象的尺寸,元组对象(a,b)

  color: 图像的填写对象

  再次回到图像对象

(2) Image.size

  获取图像尺寸,重临的是元组对象

  由于重回是元组对象,则做客结果是Image.size[0]

(3) ImageDraw.Draw(im,mode=None)

  创设可在图纸上开展绘图Draw对象

(4) Image.paste(sourceImg,box=None,mode=None)

  将一张图纸粘贴到另一张图纸上

  Image对象指的是被粘贴的图片

  sourceImg: 粘贴的源图片

  box: 2元组则是贴边图片地方的左上角开首地方

    4元组则是左上角,同一时候总结右下角,必须符合源图片的尺码内

  mode:图片方式

(5) ImageFont.trueType(font=None,size=None,index=0,filename=None)

  设置图片上字体

  filename: 设置字体文件,要是未有则是找Window字体

  size: 字体大小

(6) ImageDraw.Draw.eclipse(xy,fill=None,outline=0)

  图片上制图椭圆

  xy:三种方法

    [(x0,y0),(x1,y1)],[x0,y0,x1,y1]左上角,右上角坐标

  假诺要画圆形则是保证两轴长度相等

  fill: 椭圆内部是还是不是填充,填充色

  outline:椭圆轮廓宽度

 

(7) ImageDraw.text(xy,text,fill=None,font=None)

  xy: 字的右上角的岗位

  text:书写的难点,注意编码格式

  fill:文本的水彩

  font:引进字体

 

编码经验的计算

(1) 假诺不是矢量图或然会招致叠加图片未着色掩盖,故最后选用多少个图片叠加,而是径直在图纸上制图圆形

(2) 至于图片字体依然还需进一步的上学,因为想引进微软雅黑,结果没成功,还也许有正是何许加粗?

(3)   怎么样让文字自适应在图纸在那之中,C 中有收获字体的像素大小,还得再研商Pillow是还是不是有其一函数?

拓展

(1) 怎么样抹去地点的数字标签,模拟微信已读

(2) 怎样立异方面包车型客车数字,模拟不断接受新的音讯,未读

思路:

code改编为函数,输入参数为未读音信数据,获取原始图片的画笔

图片 3

 

事件响应传入相应的参数

演习册,每日一个小程序----第0000题,python0000 标题 第 0000 题:将您的 QQ 头像(大概新浪头像)右上角加上深中黄的数字,类似于微信未...

第 0000 题: 将你的 QQ 头像(可能今日头条头像)右上角加上深灰蓝的数字,类似于微信未读消息数量这种提醒效用。 类似于图中成效

图片 4

 

Code:

 1 from PIL import Image,ImageDraw,ImageFont
 2 # path = "F:Python LearningPython_Exercise"
 3 # 读取图片数据
 4 iconPath = r"ImageWeChart.png"
 5 # labelPath = r"Image圆圈.png"
 6 iconImage=Image.open(iconPath,'r')
 7 # labelImage = Image.open(labelPath,"r")
 8 
 9 # # 标签上写字
10 # user_font = ImageFont.truetype('simsun.ttc',80)
11 # draw = ImageDraw.Draw(labelImage)
12 # draw.text((int(labelImage.size[0]/4),int(labelImage.size[1]/7)),u'24',font=user_font)
13 # labelImage.save("final.png","PNG")
14 
15 # 组合Icon
16 icon = Image.new("RGBA",(iconImage.size[0] 105,iconImage.size[1] 105))
17 # iconImage.paste(labelImage,(int(iconImage.size[0]-labelImage.size[0]/2-1),0))
18 # iconImage.save("final.png","PNG")
19 # 右上角数字标签会导致图片尺寸变大
20 icon.paste(iconImage,(0,54))
21 draw = ImageDraw.Draw(icon)
22 # 直接在图片上画圆
23 draw.ellipse([(iconImage.size[0]-100,5),(iconImage.size[1] 100,205)],"red")
24 user_font = ImageFont.truetype('simsun.ttc',100)
25 # 标注数字
26 draw.text((iconImage.size[0]-50,50),u'24',"white",font=user_font)
27 icon.save("final.png","PNG")

Result:

图片 5

总结:

Pillow API 学习

API 文档路线:

 

(1) PIL.Image.new(mode,size,color)

  mode: 新图片的形式,如奥德赛GB,灰度图相等

  size: 新图象的尺码,元组对象(a,b)

  color: 图像的填充对象

  重回图像对象

(2) Image.size

  获取图像尺寸,重临的是元组对象

  由于重临是元组对象,则做客结果是Image.size[0]

(3) ImageDraw.Draw(im,mode=None)

  创设可在图片上实行绘图Draw对象

(4) Image.paste(sourceImg,box=None,mode=None)

  将一张图纸粘贴到另一张图纸上

  Image对象指的是被粘贴的图片

  sourceImg: 粘贴的源图片

  box: 2元组则是贴边图片地方的左上角初始位置

    4元组则是左上角,同不常候包蕴右下角,必须符合源图片的尺码内

  mode:图片格局

(5) ImageFont.trueType(font=None,size=None,index=0,filename=None)

本文由67677新澳门手机版发布于计算机编程,转载请注明出处:每一日二个小程序

关键词: