1.封面图的制作过程
先来看看我每天的早报封面图吧,是介样的:
组成部分:背景图(900*383)+ 大标题(52px) + 二级标题(44px) 接着缩下我是制作这种封面图的流程:
- 1.平时闲着没事逛下一些壁纸的APP或者站点,觉得好看的就保存下来。
- 2.打开Pixelmator Pro新建一个900*383的模板,把图片拖进去,调节图片大小直到图片的宽度和模板的宽度相等。
- 3.接着移动调整缩放后的图片,直到自己喜欢位置。
- 4.依次添加大小标题,调整居中。
- 5.合并图层,裁剪。
- 6.导出成jpg文件。
为了让你们感受这个流程,我大概录了个Gif演示下,实际操作耗时远比这个久(7,8分钟的样子)。
每天如机器搬重复着这样的操作,多呆哦~然后,我竟然坚持了60+天(┬_┬); 着实需要一个脚本,把我从这种繁冗的工作中解脱出来。
读者可能对图源感兴趣,我一般喜欢直接保存壁纸APP里精选的靓图,另外,我发现,有些长图,其实 可以裁剪成几份来作为多期的封面,比如这样的图:
分割成两个,挺好看的。
感觉像像集卡一样,有点意思。
2.提取图片处理的流程
先来提取下图片处理的流程:
- 图片缩放:保持长宽比例不变进行缩放,直到宽为900px为止。
- 图片裁剪:先计算图片可以裁剪成多少份,以图片中间为基准裁剪,计算Y轴偏移,每个图片的坐标。
- 图片加字:对裁剪后的图片依次添加大小标题。
3.材料准备
行吧,处理流程说了,说下用到的Python库,直接通过pip命令安装即可: (主要使用opencv来进行图片处理,pillow即PIL库)
pip install numpy pip install opencv-python pip install pillow
4.图片缩放
保持长宽比,设置为900px,我们通过opencv提供的imread()
方法来获取一个图片对象,然后进行 相关操作。先获取一波高和宽度
import cv2 img = cv2.imread('1.jpg') (h, w) = img.shape[:2] print(h, w) # 输出结果:956 1080
如果你想把图片显示出来,可以直接调用imshow()
方法:
cv2.imshow('image', img) # 参数依次为:窗口名称(窗口不能重名),读入的图片。
上述的代码,运行后会发现窗口一闪而过,可以调用waitKey()
让窗口不关闭
cv2.waitkey() # 想窗口一直不关闭,可以不填参数或填0;也可以指定一个等待时间(单位毫秒) # 在一个时间段内,等待用户按键触发关闭,如果一直不按键,到了时间会自动关闭。
但是,这里其实隐藏着一个小坑:如果你的图片是中文文件名或文件路径包含中文,调用imread
会报错,比如:
img = cv2.imread('测试.jpg') cv2.imshow('img', img) cv2.waitKey()