image - 将图像从数据 URL 绘制到 Canvas

标签 image html canvas data-uri

如何在 Canvas 中打开图像?这是编码的

我正在使用

var strDataURI = oCanvas.toDataURL(); 

输出是经过编码的 base 64 图像。如何在 Canvas 上绘制此图像?

我想使用 strDataURI 并创建图像?可以吗?
如果不是,那么将图像加载到 Canvas 上的解决方案可能是什么?

最佳答案

给定一个数据 URL,您可以通过将图像的 src 设置为您的数据 URL 来创建图像(在页面上或纯 JS)。例如:

var img = new Image;
img.src = strDataURI;

drawImage() method HTML5 Canvas Context 允许您将图像(或 Canvas 或视频)的全部或部分复制到 Canvas 上。

你可以这样使用它:

var myCanvas = document.getElementById('my_canvas_id');
var ctx = myCanvas.getContext('2d');
var img = new Image;
img.onload = function(){
  ctx.drawImage(img,0,0); // Or at whatever offset you like
};
img.src = strDataURI;

编辑:我之前在此空间中建议,当涉及数据 URI 时,可能没有必要使用 onload 处理程序。基于来自 this question 的实验测试,这样做是不安全的。上面的顺序——创建图像,设置 onload 以使用新图像,然后设置 src——对于一些浏览器来说是必要的一定要使用结果。

关于image - 将图像从数据 URL 绘制到 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4773966/

相关文章:

javascript - 如何使用 toDataURL() 将图像作为背景图像与 Canvas 内容一起添加到一个图像中?

c# - 为什么 PngBitmapEncoder 类使我的图像看起来有颗粒感?

html - IE 中的图像旋转会导致自动翻译。如何删除翻译?

android - 如何在 Android 中以编程方式裁剪和旋转图像?

JavaScript:获取图像尺寸

php - 带有 CSS 工具提示的 HTML5 (php) 显示远离超链接

javascript - 多语言网站布局调整

html - 是否可以通过 JavaScript 获取网页的矩形部分作为图像?

jquery - 使用 jQuery 定位 Canvas

javascript - cocos2d js Canvas 边框