今天无意间发现 indienova 的周报图片是动态的,里面的文字和图片会根据每期内容变化。于是我就在想怎么实现这样一个效果,趁着今天有兴致,花了几个小时时间尝试模拟下。
初步思路
看 indienova 的海报样式并不复杂,应该是有自己内部的海报生成器去填内容,具体的实现方式很多,既然是整活,那我就采用我没怎么玩过的套路 - 手撸 svg 代码去实现。
由于海报样式不复杂,所以简单用到 svg 的线条、文字和图片就实现了初版。 初版的大体样子有了,但是细心的人一看就会发现效果和 indienova 的海报差很多。
完善细节
细节是魔鬼,目前我们画的海报太扁平了,仔细看 indienova 的海报会发现里面的图片是有混色过的,而且背景也有噪声,周围有高斯模糊,于是使用万能的 css 去实现这些细节,顺带添加了下表单,最终效果如下:
项目代码在:https://github.com/mnikn/nova-poster
在线使用:https://mnikn.itch.io/indienova-poster-generator
顺带很好奇官方是怎么实现海报的?@indienova
可能就是P的吧哈哈
我们是用 Photoshop 制作的,上面有几个 Smart Object,每一期改一下文字,更换一下 Smart Object,输出就行了,哈哈哈哈。
@indienova:竟然是 p 的,没怎么用过 ps 第一次知道有 Smart Object
@mnikn:智能对象,随便拖一张图进去就是,就是未删格化的图片
我以为是会动的那种动态,仔细盯了好久哪里会动!
@sdjdasha:哈哈,其实要动起来也很简单,像一摊报纸砸在桌子上那样