最近在为公司的一个比赛制作专题页,碰到一个使用参赛者上传的照片生成专属海报的需求,实现过程中用到了一些以前没用过的 api,也踩了一些坑,于是将其记录下来。得到一个地址,将这个地址设置到页面上预留的一个 img 标签里面:海报中放置照片的区域为正方形,但是用户上传的照片却不一定,因此需要对照片进行裁剪,裁剪的原则为取照片中间部分。依然使用 FormData API,因此需要先用 canvas 构造一个 Blob 对象。

JavaScript基于用户照片姓名生成海报

JavaScript基于用户照片姓名生成海报

JavaScript基于用户照片姓名生成海报

JavaScript基于用户照片姓名生成海报

JavaScript基于用户照片姓名生成海报

JavaScript基于用户照片姓名生成海报