今日就来教大伙儿这一招数:

怎么使用 Python 来做出去那样有点儿烂漫,又有点儿我们的“内函”图。

自然,能否靠它获得心爱目标的亲睐 ,就需要靠你(命)了 。(๑•́₃ •̀๑)

那麼要怎么做呢?

大家先找一张女神的高清图(尽可能屏幕分辨率高些的吧,实际效果会好一点)。这儿以一张原照是那样的(屏幕分辨率是:3840*2160)。

 

应用我写好的脚本制作运作后,就转化成了那样一张图 ,你要点一下,变大再变大 。意外惊喜?

 

随后将这张图片发过来的女神,实际销售话术你自己想咯

行吧 ,对比女神而言,你将会更在乎它是怎样完成的。

实际上基本原理非常简单,编码也还不上 20 行。

 

最先 ,来讲下基本原理 。

实际上,每一张图片全是由一个一个的像素点所构成的。而每一个像素点,都是有自身的颜色 ,其颜色可以用一个数字能量数组来表明:(a,b,c) ,在其中每名数的取值范围全是 0-255。

例如(0,0,0)代表灰黑色,(255,255,255)代表乳白色 。

当像素点充足多的情况下,这张相片便是大家常说的高清照片。

而假如当像素点太少 ,大家的人眼就能认知到显著的锯齿状感。

用 Excel 画了个图,每一格子代表一个像素,在其中若我的字体的尺寸设定 5(非字体大小5 ,只是每一个字占有五个像素),实际效果大约便是以下这样子 。

 

我只想要每一个像素取下一个像素值,并应用这一像素作为该字的颜色就可以 ,在像素量够多的状况下,从远方看,是能见到大家原先图象的轮廊的 。

拥有构思 ,就可以刚开始大家的编码。

最先,大家必须采用 PIL库,应用在其中的 PIL.Image 载入图象 ,并应用 load 方式 获得到每一个像素值。

img_raw = Image.open(img_path)
img_array = img_raw.load()

随后在建一张画板 ,并选你要要应用的字体样式和文字大小(这儿要保证相对路径下的字体文件是存有的) 。

img_new = Image.new("RGB", img_raw.size, (0, 0, 0))
draw = ImageDraw.Draw(img_new)
font = ImageFont.truetype('C:\Windows\Fonts\STHUPO.TTF', font_size)

因为必须持续循环系统 “我爱你! ”,这五个标识符。因此这儿能够 while循环系统 yield 来完成一个制作器。

def character_generator(text):
    while True:
        for i in range(len(text)):
            yield text[i]

最终,要给这种字再加相对的颜色 ,载入新创建的画板中 。

for in range(0, img_raw.size[1], font_size):
    for in range(0, img_raw.size[0], font_size):
        draw.text((x, y), next(ch_gen), font=font, fill=img_array[x, y], direction=None)

最终将制成品储存

img_new.convert('RGB').save("123.jpg")

详细编码以下,供你参照

from PIL import Image, ImageDraw, ImageFont

font_size = 7
text = "我爱你!"
img_path = "321.jpg"

img_raw = Image.open(img_path)
img_array = img_raw.load()

img_new = Image.new("RGB", img_raw.size, (0, 0, 0))
draw = ImageDraw.Draw(img_new)
font = ImageFont.truetype('C:C:\Windows\Fonts\STHUPO.TTF', font_size)

def character_generator(text):
    while True:
        for i in range(len(text)):
            yield text[i]

ch_gen = character_generator(text)

for y in range(0, img_raw.size[1], font_size):
    for x in range(0, img_raw.size[0], font_size):
        draw.text((x, y), next(ch_gen), font=font, fill=img_array[x, y], direction=None)

img_new.convert('RGB').save("123.jpg")

假如你要在自身的电脑运作,要是拷贝上边这一段编码 ,储存为 python 文档(比如 draw.py),在代码编辑器或是cmd中运作就可以。

必须留意的几个方面是:

1. 要安裝 PIL 库。必须留意的是,这一控制模块全名是做 PIL ,但如今早已不升级了,大家必须用另一个取代库:pillow 。能够 在cmd根据 pip install pillow 安裝。

2. 将你的初始照片跟编码放到同一个文件目录,并改动文档中的图象文件夹名称。

3. 字体样式能够 自主变更 ,但要保证是字体样式,而且字体文件的相对路径恰当 。

 

本文版权归QU快排Www.seoGurubLog.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ▲61910465