Canvas如何做款祝福月饼【中秋特别版】
Canvas如何做款祝福月饼【中秋特别版】
Canvas如何做款祝福月饼【中秋特别版】,华夏至物月饼,小厂月饼,月饼用量中秋将至,本期借此机会创作了一款祝福月饼的canvas动画,送给大家,祝大家阖家团圆,心想事成~
接下来就会教大家用Canvas api,且不用任何引擎和插件来制作这款祝福月饼。我们从基础结构,月饼绘制,打字机动画来讲述,系好安全带,我们这就出发~
期望肯定是要有个绘制月饼的,月饼上有馅的名字,里面有各种线条的绘制,所以抽成一个类,再往主逻辑中实例化一个去实现。
祝福语因为简单所以我们直接在主逻辑中绘制,一般每次祝福语只有两句,所以我们用逗号隔开这种形式去拆分吧,而且一个字一个字的打所以记录下当前位置,还有循环周期。
我们期望渲染的是月饼的实例,我们应当传递的就是它的坐标和缩放大小以及馅名,接下来我们的重头戏要来了,就是怎么画出一个月饼来~
要绘制一款月饼需要堆砌canvas基础绘制,我们观察,一个月饼可以拆分成两个花边,两个圆角矩形,六道横线,和曲折线,和馅名来构成。
我们的难点在于如何绘制花边图形呢,其实可以想象成一个圆所以一共360度我们要拆分成多少条边就除以多少,这样就能得到角度,利用原点,就可以算出对应的x轴和y轴坐标,然后连接起来就变成了一个三角形,那么问题来了,怎么做出花边呢,我们可以用贝塞尔曲线来完成它,我们给当前三角形平分得到角度,在给圆的半径加一点延长,使其找到中心点,将其用曲线连接就完成了花边的绘制,因为这里用12条边就遍历计算角度然后绘制一个月饼皮就做好了~
还有就是圆角矩形,我们这里用个arcTo这个万能写法去做边因为一共就四个角很容易能平分出Math.PI。
另外,要说的就是我们期望的一步步把绘制过程展示出来所以要用一个数组存储绘制过程,记录当前时间,每隔200毫秒追加一次新绘制任务。直至结束,我们要给一个状态通知已经结束了,方面主逻辑进行其他操作。
所以要输出两行,且把都号去掉,所以我们要生成一个由逗号分开的二维数组,分别表示第一行和第二行,随着dt的增加而改变绘制的位置,就是这么简单。
另外,其实还有很多瑕疵,比如本期用到了字体是仿宋,很多电脑都会带这个字体,但是手机端就很少了,所以我们有时间根据自己要写的文字,拆出一套仿宋字体集来使用。毕竟中文字体太大了,没发直接用的。
我们本期用了不少的图形绘制说难不难说简单也不简单,其实但从效果方面还是用svg做路径动画效果更好些。但是canvas绘制运用得当是非常灵活的,用简单图形的组合也能完成惊艳的作品。希望大家受此启发,也完成一款自己的中秋祝福送给亲朋好友。
相关文章
- 世界上最大的月饼可供11万人吃重达13吨还创下了吉尼斯世界纪录!
- 秋天里的第一个佳节拜泉月饼
- 快看!杏花楼、新雅、功德林、美心……月饼抽检结果来了
- 惊艳所有人│盘一个电饼铛!在家就能做出好滋味的月饼
- 404 Not Found摩托月饼
- 主题活动|圆圆月饼 中秋的爱
- 月饼矢量素材图片咪月饼
- 无糖月饼并非真“无糖”
- 月饼券黑幕:厂家高价卖券低价回收 不产月饼也赚钱
- 手工月饼走俏市场 传统工艺备受青睐
- 秋瓷炫给韩国人讲中秋节韩国明星却吐槽月饼肚胀酸酸的
- 广东最大的五仁金腿月饼亮相 重达999斤(图)
- 墨西哥举行阅兵仪式庆祝独立212周年
- 茂名市高尔夫球协会办公室进驻6月球赛晚宴暨东信·至尊月饼发布主题晚会圆满结束
- 中秋买家电 国美送“罗莎冰激凌月饼”
- 规范“月饼标准”也应该规范“月饼名称”
- 【能力作风建设】高效诉前证据保全护航企业健康发展
- 七夕送礼选香港美心月饼 美好心意由心流出
- “月饼去哪了”的追问理当重视
- 洛阳博物馆首款文创月饼正式亮相