Javascript;使用画布在图像上添加文本并保存到图像
Javascript; Adding text on image using canvas and save to image
我只想制作一个页面,您可以在其中键入文本并将其添加到所选图像上并将其另存为新图像。
我试图用几种方式做到这一点,但没有运气。
<body>
<canvas id = "idCanvas" width = "576" height = "577"> </canvas>
<img id="canvasImg" width = "576" height = "577"></img>
<script>
window.onload = function(){
var canvas = document.getElementById('idCanvas');
var context = canvas.getContext('2d');
var imageObj = new Image();
var dataURL = canvas.toDataURL();
imageObj.onload = function() {
context.drawImage(imageObj, 0, 0, 576, 577);
context.font = "20px Calibri";
context.fillText("My TEXT!", 50, 200);
document.getElementById('canvasImg').src = toDataURL();
window.alert(dataURL);
};
imageObj.src = "image.png";
};
</script>
当我在 img src 中使用 toDataURL() 时,图像不会显示,它只有在我不在画布中使用 drawImage 时才有效。
好的,是的,出于安全原因,它不起作用,但是有一个解决方案。在这里查看工作演示:小提琴
draw();
function draw() {
var canvas = document.getElementById('idCanvas');
var context = canvas.getContext('2d');
var imageObj = new Image();
imageObj.onload = function() {
context.drawImage(imageObj, 0, 0);
context.font = "40px Calibri";
context.fillStyle = "red";
context.fillText("My TEXT!", 50, 300);
var canvas = document.getElementById('idCanvas');
var dataURL = canvas.toDataURL();
alert(dataURL);
}
imageObj.setAttribute('crossOrigin', 'anonymous');
imageObj.src = "https://loremflickr.com/400/200";
};
首先,它应该是 canvas.toDataURL() 吗?
下面是将内容放入图像元素 http://www.html5canvastutorials.com/advanced/html5-canvas-save-drawing-as-an-image/的类似示例
此外,当从另一个主机名加载图像时,我收到以下错误:
未捕获的安全错误:无法在 上执行"toDataURL" "HTMLCanvasElement":受污染的画布可能无法导出。
当图像未添加到画布时,它工作正常,因此问题可能与未与图像一起添加的 CORS HTTP 标头有关。尝试删除
context.drawImage(imageObj, 0, 0, 576, 577);
看看它没有图像就可以工作
这是一个基于相关代码的演示。http://jsbin.com/logikuwefo/1/edit
相关文章:
- 将gif图像添加到chart.js V2.0中
- 如何通过选择器元素将图像添加到javascript下拉警报消息中
- 使用chosen.js,如何将图像添加到下拉项中
- jQuery动态地将图像添加到表中
- 使用javascript为网页中的所有图像添加属性
- 使用javascript根据图像的布局方向为图像添加不同的类名
- 如何将淡出图像添加到我的Django页面
- AngularJS:为ng-repeat中的图像添加切换功能
- 将图像添加到 json 搜索栏
- 使用jquery为基于alt文本的一些图像添加一个类
- 正在向库图像添加链接
- 是否可以在生成器中为图像添加权重
- 如何将图像添加到每个画布
- 如何将叠加图像添加到SIMILE Exhibit地图视图中
- FabricJS将图像添加到组会导致奇怪的控制行为
- 当所有表单字段都完成时,jquery将图像添加到列表项中一次
- 如何在CKEditor中为图像添加ID
- 有没有任何方法可以使用joomla为图像添加描述!模态挤压盒
- 将图像添加到svg
- 将第二个背景图像添加到元素中