无聊在Github上看见python的趣味练习题,自己试着做了做
第 0000 题:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。
这个题目主要是练习对Pillow模块的使用,豆子之前也没用过,今天试了试发现很强大也很方便
首先安装
这个模块可以帮助我们读取和修改图片。为了完成上面的任务,我们需要了解一些基本的模块使用
首先看看Image模块,他的主要作用就是读取一个图片,然后可以打开或者另存为其他格式。
例1
例2, 再例1 的基础上做些修改,这次我们把打开的文件另存为jpg的格式
例3, 打开图片的方式和打开普通文件的方式一样,也可以用with as的格式
例4,我们还可以对图片进行剪切
第二个很重要的模块是ImageDraw模块,这个可以让我们对图片和文字进行创建和二次加工
例5,打开一个图片,在上面画线
例6. 在图片上写字 (题目要求)注意我们这里还调用了ImageFont模块, 他的作用就是处理位图字体
例6里面我们使用了一个函数alpha_composite,他的意思是 alpha通道混合图像
注意RGBA的A就是指Alpha通道,一般理解为透明度的设置
下面是如何根据Alpha通道数据进行图像混合的算法:
事实上,我们把需要组合的颜色计算出不含Alpha分量的原始RGB分量然后相加便可。如:两幅图像分别为A和B,由这两幅图像组合而成的图像称为C,则可用如下四元组表示图A和B,三元组表示图像C:
A:(Ra,Ga,Ba,Alphaa)
B:(Rb,Gb,Bb,Alphab)
C:(Rc,Gc,Bc)
根据上述算法,则:
Rc=Ra*Alphaa+Rb*Alphab
Gc=Ga*Alphaa+Gb*Alphab
Bc=Ba*Alphaa+Bb*Alphab
这就是两图像混合后的三原色分量。如果有多幅图像需要混合,则按照以上方法两幅两幅地进行混合。
更多推荐
python 修改图片内容_Python 趣味练习- 修改图片
发布评论