首页 > 名字大全 > 微信名字 正文
【浪漫微信名字制作】程序员的浪漫——以她的名字画python版本

时间:2023-02-27 08:45:03 阅读: 评论: 作者:佚名

程序员的浪漫——用她的名字画python版本

Hello,你好,我是灰色的。前面介绍了一篇用她的名字画她的美图的文章。其中主要使用的Java实现了。今天,我要用Python (Python)再试一次。

同样的最终代码量也不会超过30行。

以前的博客:*程序员的浪漫-以她的名义绘制python版本-灰色博客[1]

1.环境相关

这里我们选择python作为我们的主要绘画武器,这里不介绍与python的环境设置相关的内容。感兴趣的小伙伴们正在自己探索。

Python计,操纵照片的武器PIL,大家都很清楚,以后会用它来实现我们的目标。

安装依赖性

Pip install Pillow2。基本知识点

在重新正式开始之前,我将向不熟悉PIL操作的小伙伴简单介绍基本用法,当然重点强调我们将采用的一些方法。

2.1加载图片

From PIL import Image

Img=Image.open(“图片地址”)是的,很简单。可以直接使用Image.open()读取图片

2.2收集图像基本信息

导入图形后,通常需要注意的一些参数(例如宽度高度、通道)

宽度、高度=img.size

# RGBA表示包含透明度,例如png

# RGB不包含透明度,如jpg

创建用于编辑Mode=img.mode2.3的场地

要在此图中绘制信息或创建空白场地,必须先导入ImageDraw对象。

From PIL import ImageDraw

导入对应于#图的画板

Draw=ImageDraw。从Draw(img)中获得Draw对象后,可以根据提供的各种方法绘制各种几何图形、文字、图片等。如果我们想得到空白的大地,可以怎么办?

#生成要透明的图片。第二个元组参数表示图的宽度高度,第三个参数表示背景完全透明

New _ img=image.new ('rgba '(width,height),(255、255、255、0)) imagedraw提供了大量绘图

New _ img=image.new ('rgba '(480,640),(255,255,255,0))

#创建绘制对象

Draw=ImageDraw。Draw(new_img)

从#开始(10,10)-(100,100)绘制黄线

Draw.line ((10,10,100,100),' red ')

#矩形绘制(100,110)-(200,200)、黑色填充、黄色填充

Draw.rectangle ((100,110,200,200)、' black '' red ')

#绘制椭圆

Draw.ellipse ((300,300,500,400)、' yellow green '' red ')

#圆

Draw.ellipse ((250,250,350,350)、' seagreen '' red ')

#绘制文本,选择宋体,字体大小28,unicode编码

font=image font . truetype('28,encoding='unic ')

Draw.text((300,200),u“灰色博客”,“red”,font)侧重于文本绘制。draw.text((x,y))

导入2.4像素

要获取指定坐标的RGB值,可以执行以下操作

Pixel=img.getpixel((x,y))看这里的小伙伴,结合之前的博客,用python版本的她的名字画画应该很简单吧。

2.5预览和保存图片

#显示图片

New_img.show()

#保存图像

new _ img . save(')3 .绘制python版本文本

接下来,进入正式实施。

From PIL import Image

From PIL import ImageDraw

From PIL import ImageFont

Def render (path : str、name : str、save : str) :

Img=Image.open(path)

宽度、高度=img.size

#创建画板,放大24倍

New _ img=image.new ('rgba '(width * 24,height * 24),(255,255,255,0))

Draw=ImageDraw。Draw(new_img)

#加载自定义字体,字体文件

font=image font . truetype(u ' d ://mobile file/时尚的书写。ttf '20,encoding='unic') #

Render_index=0

For x inrange(宽度):

For y inrange(高度):

Pixel=img.getpixel((x,y))

Draw.text ((x * 242,y * 242),name [render _ index],pixel,font) #在重新指定的地方,用文本替换以前的纯色

render _ index=(render _ index 1)% len(name)

New_img.save(save)仍然以小黄人为例,看看会有什么效果

从上面的照片来看,与之前Java版本的输出没有区别,感兴趣的小伙伴们在动手。我是灰烬。不错的小伙伴收藏,称赞,评论。

灰色联系方式

信完书总比没有书好。以上内容纯属一家之言。由于个人能力有限,不可避免地会有遗漏和失误。如果发现bug或有更好的建议,欢迎批评。不吝惜感谢

个人网站:微博地址3360小灰色博客[2] QQ:灰色/3302797840微信公众号:灰色博客

Qr代码

References

[1]程序员的浪漫——以她的名义绘制python版本——灰色blog :/hex blog/2022/05/26/220526——程序员的浪漫——以她的名义绘制python版本/

[2]小灰blog : https://Weibo . com/p/1005052169825577/home

  • 评论列表

发表评论: