永利博官网永利博官网


永利博官网

七夕节快到了,做个图钉画以及学习下Pillow吧

又有时间写东西了,最近深感世事并不以人的美好愿望而改变,还是要以积极地心态来适应新变化,多多关心身边的人。

图钉画中一个图钉代表一个像素,所以关键在于像素渣化,降低分辨率,图钉的色彩有限,还需要降低图片的色彩数量,统计各种色彩的数量及位置。

以上都可以用Pillow完成,Pillow是Python中用来兼容或者代替PIL的图像处理库。

pip install pillow

以下图为例:

首先降分辨率,大概1万个图钉可以达到较好的外观效果,以此可以确定图片的长宽:

>>> from PIL import Image>>> img = Image.open("20180707.jpg")>>> print img.size512)>>> img = img.resize((img.width/5, img.height/5))>>> img.save("target.jpg")

效果如下:

渣化很明显了,放大后可以看到一个个的像素格子。

转成32色:

>>> img = Image.open("e:/target.jpg")>>> img = img.convert("P", colors=32, palette=1)>>> img.save("e:/32_target.jpg")

统计色彩数量:

>>> img = Image.open("e:/32_target.png")>>> print img.getcolors()[0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20), 21), 22), 23), 24), 25), 26), 27), 28), 29), 30), 31)]

可以看到从0号-31号色的数量,

不清楚颜色的话,可以转化成RGB模式:

>>> img = img.convert("RGB")>>> print img.getcolors()[173, 157)), 151, 129))...]

就可以根据RGB去对比颜色买图钉了。

确定每个位置的颜色:

>>> px = img.load()>>> for x in xrange(102): for y in xrange(102): print px[x, y]

然后就要对比颜色买图钉,买相框,买纸板,买图纸,标记位置,打印等等。

考虑到以上一切,我还是决定某宝了。学以致用难啊。

一万多个图钉,断断续续做了大概一个月,做完的感想是绝对不要做第二次,所以要做的同志请慎重。

当然做完成品还是不错的。

 

欢迎阅读本文章: 高雪峰

利博国际网络赌场

永利博官网