python随笔(五)---------pillow模板及该模块的小项目

不知道大家有没有学过tkinter模块。我写的这个小代码其中有一点tkinter模块的内容。
没关系 我改写没有tkinter模块的内容。

首先说下pillow是python的图像函数库,我们可以用来处理很多格式的函数。功能比tkinter模块的BitmapImage与photoImage类要强很多。

下载安装pillow

pillow函数库并没有附在python3的版本中,所以我们要进行下载安装
下载网址
https://pypi.org/project/Pillow/#files
在这里插入图片描述这是我的 找到大家适用的版本
pillow下载后双击安装文件(和安装平时的软件差不多)有一点是第二步要选择安装python的文件夹,一般可以自己识别。
然后还有一种方法个人比较喜欢。
方法二:
首先进入cmd
输入 pip install pillow
在这里插入图片描述安装完成就可以使用了

加载图片

image 模块的open函数
例如:
在这里插入图片描述show()函数是显示该图片
image模块的open函数打开的图像还有很多的属性
如:
size
在这里插入图片描述还有一些:format 图像的格式
mode 图像文件的色彩表示模式(RGB、P等)
palette 图像文件的color palette table
info 图像文件的字典集

还有一些Image模块的常用函数
如复制(copy())粘贴(paste())
还有图片的几何转换

  1. resize()改变图像大小resize(width,height)
  2. 旋转图像 rotate(angle)
  3. 颠倒图像transpose(method)
    method可以是:FILP_LEFT_RIGTH、FILE_TOP_BUTTOM、TOTATE_90、ROTATE_180、ROTATE_270。
    存储图像文件
    函数:save(outfile [,options])
    如:
    from PIL import Image
    im = Image.open(“地址”)
    im.save(“保存地址”,“BMP”)#BMP 为后缀名。

实战项目

读取一个图片然后将其转化为字符串图片
这个项目网上有一个视频我记得讲的挺好的
本来我写的是带tkinter模块的现在我重写一下 把该部分去掉

from PIL import Image

ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/|()1{}[]?-_+~<>i!lI;:,"^`’. ")
WIDTH = 60
HEIGHT = 60
#根据图片的rgb 值返回字符串
def getChar(r,g,b,alpha=256):
if alpha == 0: #表示透明
return " "

length = len(ascii_char)
#由于符号少 灰度值有266 所以需要进行处理一下
gray = int(0.2126*r + 0.7152 *g + 0.0722 * b)
unit = (256.0 + 1)/length

return ascii_char[int(gray/unit)]

if __name __ == “__main __”:#空格大家去掉

im = Image.open("D:/ascii_dora.png")
print(im.size)   
im = im.resize((WIDTH,HEIGHT))#重置大小
  
txt=""
for i in range(WIDTH):
    for j in range(HEIGHT):
        txt+= getChar(*im.getpixel((j,i)))
        
        '''
            getpixel(元组) 会根据像素的坐标返回他们的RGB值为一个元组
            大家可以输出一下
        '''

    txt +="\n"#进行换行

print(txt)
fu = open("D:/123.txt",'r+')#保存到这里
fu.seek(0,0)#定位光标为0,0位置
fu.write(txt)
fu.close()

在这里插入图片描述运行结果为
在这里插入图片描述没有截完
在这里插入图片描述写入文件

这个图片也给大家
在这里插入图片描述
代码很简单但是却很有意思大家可以多进行研究一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值