知乎昨天有个热搜话题:
如何评价飞越旅行创始人要求员工一天设计100张海报!
据说是某公司创始人要求设计师在一天内设计100张小年海报,并称是公司正常工作安排,没有不尊重员工工作。
有图有真相
看完这段聊天记录,非常愤怒,怪可怜这位设计师的。
要是他会写代码该多好,作为程序员,我决定帮他一把。
既然老板能提出“合理”的需求,那我们也可以设计100个“合理”的小年图,任老板挑选。
思路是这样的,考虑到过年要喜庆,就用中国红做为背景底色,然后通过渐变调色来生成100张图。
最终实现效果是这样的,确实是不同款式的小年图,因为颜色不一样嘛。
剩下的就是开始撸代码
第一步:先生成一张 5:4 大小的背景图
width, height = 500, 400
image = Image.new("RGBA", (width, height), color=f"rgb(100,39,37)")
draw = ImageDraw.Draw(image)
file_name = f"100.png"
image.save(file_name, 'png')
效果图:
然后再加点文字作为点缀,内容就写 “小年快乐”,注意文字要居中
content = "小年快乐"
w, h = draw.textsize(content, font=font)
draw.text(((width - w) / 2, (height - h) / 2), content, fill="rgb(245,207,142)", spacing=18, font=font)
第1张小年图大功告成
如何生成100张呢?如果直接用PS来操作,恐怕手会酸
还是用代码来实现来得快
我们只要修改一下背景色RGB的RED值就可以了
这是完整代码:
from PIL import Image, ImageDraw, ImageFont
content = '小年快乐'
# 图片尺寸
width, height = 553, 369
# 字体样式
font_type = 'C://Windows/Fonts/simsun.ttc'
# 字体大小
font = ImageFont.truetype(font_type, 50)
# 生成100张不同款式的小年海报
for i in range(100):
red = 100 + i
image = Image.new("RGBA", (width, height), color=f"rgb({red},39,37)")
draw = ImageDraw.Draw(image)
w, h = draw.textsize(content, font=font)
draw.text(((width - w) / 2, (height - h) / 2),
content,
fill="rgb(245,207,142)"