canvas绘制图像文字并重新转化为新图像
前言这两天用canvas开发了一个海报生成器,这是第一次使用canvas,特此做点简单的笔记,备查。 需求简述:用户选择一张图片,输入一些文字,点击提交时将这些信息按规定的形式组合生成可保存的图片,要求对用户所选择的图片做黑白处理,以突出文字。 开发分析 canvas绘制图片和文字Step 1 创建一个canvas元素
标签中的内容只有在浏览器不支持canvas时才会显示(IE9+支持) Step 2 JavaScript绘图
参数2d表示该节点用于生产2D图案(平面图案),如果是“webgl”则表示生成3D图像,具体可了解WebGL API,未深究。 绘制图像:
建立一个Image对象,赋值其src,然后用drawImage()方法绘制;参数分别为图像、坐标位置、在画布上所占大小。
固定的图片可以先放到隐藏的html元素里,再获取后用drawImage()方法绘制。 绘制文字:
要绘制其他颜色及大小的字体,只需重新设置当前画笔的颜色大小,然后绘制即可(此时觉得以前做过的图形学实验派上了用场,思路一样) 详细的绘图属性与方法可查阅 对图像做黑白处理canvas通过getImageData()方法和putImageData()方法,可以处理每个像素,并重新绘制处理后的效果。
更多canvas像素处理方法可查阅 将canvas内容生成新的图片canvas的toDataURL()方法,可以将canvas数据转换为一般的图像文件形式。
未深究:Canvas SecurityError报错开发中途遇此问题,一知半解,暂且先记录下当前了解的。
报错原因:使用不经CORS许可的图片污染了画布,从而无法使用其toDataURL()等方法; 相关链接(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |