如何制作回形针爆款封面
哪个男孩不想要一个回形针呢?
本文纯属娱乐文,如有侵权,我会立即删除。
什么是回形针封面
如果你不知道回形针是什么,可以点击这个链接到 B站 去了解一下他们做的视频。


简单来看,回形针的封面设计简图如下:

了解了这个,用代码生成这样的封面就很简单了。
代码生成回形针封面
前提
看了头图的封面,想必都能猜到头图是用 python 制作的(毕竟有个 python 图标在那)。想要使用 python 制作这张图,需要满足以下要求:
- 安装
PIL
以及opencv
这两个库 - 将需要处理的背景图命名为
background.jpg
放入程序运行目录,背景图要为 16:9 的大小 - 将需要添加的小图命名为
addin.jpg
放入程序运行目录,要为 1:1 的大小
搞定了这些,就可以看下面代码了。
代码
代码如下:
import cv2
from PIL import ImageFont, ImageDraw, Image, ImageFilter
import numpy as np
class MyGaussianBlur(ImageFilter.Filter):
name = "GaussianBlur"
def __init__(self, radius=2, bounds=None):
self.radius = radius
self.bounds = bounds
def filter(self, image):
if self.bounds:
clips = image.crop(self.bounds).gaussian_blur(self.radius)
image.paste(clips, self.bounds)
return image
else:
return image.gaussian_blur(self.radius)
bk_img = cv2.imread("background.jpg")
addin_img = cv2.imread("addin.jpg")
# 处理背景
img_pil = Image.fromarray(bk_img)
# 大小调成 16:9
img_pil = img_pil.resize((1080,607),Image.ANTIALIAS)
# 高斯模糊
img_pil = img_pil.filter(MyGaussianBlur(radius=10))
# 处理加入图
# 加白框
img_add = Image.fromarray(addin_img)
img_add = img_add.resize((340,340),Image.ANTIALIAS)
draw_add = ImageDraw.Draw(img_add)
draw_add.line((0, 0, 0, img_add.size[0]), width=10, fill='white')
draw_add.line((0, 0, img_add.size[1], 0), width=10, fill='white')
draw_add.line((img_add.size[1], 0, img_add.size[1], img_add.size[0]), width=13, fill='white')
draw_add.line((0, img_add.size[0], img_add.size[0], img_add.size[1]), width=13, fill='white')
img_pil.paste(img_add,(100,int(0.5*(img_pil.size[1] - img_add.size[1]))))
# 设置需要显示的字体
fontpath = "font/msyh.ttc"
font = ImageFont.truetype(fontpath, 70)
font_small = ImageFont.truetype(fontpath, 20)
# 绘制文字信息
draw = ImageDraw.Draw(img_pil)
draw.text((0.45 * img_pil.size[0],int(0.5*(img_pil.size[1] - img_add.size[1])) - 10), "如何制作", font = font, fill = (255, 255, 255))
draw.text((0.45 * img_pil.size[0],int(0.5*(img_pil.size[1] - img_add.size[1])) + 70), "回形针爆款封面", font = font, fill = (255, 255, 255))
draw.line((0.45 * img_pil.size[0],0.65 * img_pil.size[1], 0.45 * img_pil.size[0],0.5 * img_pil.size[1] + 0.5 * img_add.size[1]), width=10, fill='white')
draw.text((0.45 * img_pil.size[0] + 15,0.65 * img_pil.size[1] + 10), "By Serence", font = font_small, fill = (255, 255, 255))
draw.text((0.45 * img_pil.size[0] + 15,0.5 * img_pil.size[1] + 0.5 * img_add.size[1]-30), "Vol.001", font = font_small, fill = (255, 255, 255))
addin_img = np.array(img_add)
bk_img = np.array(img_pil)
cv2.imshow("Output",bk_img)
cv2.waitKey()
cv2.imwrite("output.jpg",bk_img)
如你想要修改文字,可以到 #绘制文字信息
里面修改对应中文。不报错的话,运行完如上代码,程序运行目录里就会有一张属于自己的回形针爆款封面图了!
Copyright (c) Serence. All rights reserved.