html - 将 PNG 绘制到 Canvas 元素——不显示透明度

标签 html canvas png transparency drawimage

我正在尝试使用 drawImage 在 Canvas 元素上绘制半透明的 PNG。但是,它将图像绘制为完全不透明。当我查看正在加载的资源并在浏览器中加载实际的 PNG 时,它显示透明度,但是当我在 Canvas 上绘制它时,它没有。有什么想法吗?

代码如下:

drawing = new Image() 
drawing.src = "draw.png" 
context.drawImage(drawing,0,0);

最佳答案

不要忘记为图像的加载事件添加一个事件监听器。图像加载是在后台发生的事情,因此当 JavaScript 解释器到达 canvas.drawImage 部分时,很可能图像可能还没有加载,只是一个没有内容的空图像对象。

drawing = new Image();
drawing.src = "draw.png"; // can also be a remote URL e.g. http://
drawing.onload = function() {
   context.drawImage(drawing,0,0);
};

关于html - 将 PNG 绘制到 Canvas 元素——不显示透明度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8977369/

相关文章:

javascript - 从具有输入文件元素的表单访问文件

javascript - Canvas 调整图像对象大小并重复图案

image - PNG 对浏览器兼容性不利吗

terminal - 如何在 Gnuplot 中启用 pngcairo 终端

html - Foundation 5 不显示下拉菜单

html - 为什么边距顶部百分比使用高度以及如何解决它?

javascript - 有没有办法在 javascript 或 jquery 中创建变量选择器?

javascript - html5 Canvas - FillRect() 错误地绘制矩形

android - android中位图的大小

image - 如何使用 GIF 获得更好的透明度?