当前位置: 首页> 教育> 锐评 > 为了一键式构图,利用canvas做了一个海报生成器

为了一键式构图,利用canvas做了一个海报生成器

时间:2025/7/9 16:56:45来源:https://blog.csdn.net/weixin_42512684/article/details/142253927 浏览次数:0次

接着上篇文章中为了展示AI模型对图片处理的前后效果,我借助 PPT 做了几个对比图来演示

对比图中:一个标题 + N张图 + 对每张图做圆角以及边框处理
在这里插入图片描述

这类操作对我来说,后面要处理的频率比较高,因此有了想把操作自动化的 idea

说干就干,最快方式莫过于用代码构建一个网页,生成类似布局的海报生成器:用户只需提供所需图片以及文字(还需不要对上传图片数量进行限制),就可以生成对应的效果,并且提供海报一键下载入口,将目标渲染的页面效果转坏为图片方式保存在本地

经过几个小时的开发,页面效果如下:
在这里插入图片描述
整个海报生成器已作为附属功能集成到到旧闻提到的demo中
在这里插入图片描述

海报生成器主要依托于一个 js 三方包 html2canvas,将网页中选定的区域页面 基于 DOM 进行“截图”,最终转化为 canvas 图像,然后依附于js IO 相关三方库,将对应图片保存到本地;其它图片上传以及页面布局展示是基于功能本身开发的,为一些 css 样式布局

关于 html2canvas 功能核心代码为下面几行,这里 downloadjs 为一个下载库,目的是将canvas 图片下载到本地

import downloadjs from 'downloadjs';
import html2canvas from 'html2canvas';// 指定需要生成图片的 DOM 区域
const canvas = await html2canvas(document.getElementById('canvas-id'));
const dataURL = canvas.toDataURL('image/png');
downloadjs(dataURL, 'download.png', 'image/png');

这里需要提前提个醒,html2canvas 由于是基于 DOM 生成截图的,部分CSS 样式不支持,因此在使用时可能会出现 生成的页面,部分元素/功能未渲染或混乱情况

关于这块warning,详情可以参考官网介绍

关键字:为了一键式构图,利用canvas做了一个海报生成器

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: