我有一张照片。我使用drawImage()
将它绘制到画布上。
我的问题是:如果图像的不透明度为0.4,我如何在画布上以相同的不透明度绘制它。
我创建了一个示例Fiddle here。如何在#scream
上绘制mycanvas
以保持图像上的0.4不透明度。
HTML:
<p>Image with 0.4 opacity to be used:</p>
<img id="scream" width="200" height="200" src="http://img42.com/NMMU8+">
<p>Canvas:</p>
<canvas id="myCanvas" width="220" height="220" style="border:1px solid #d3d3d3;">
</canvas>
的CSS:
#scream{
opacity: 0.4;
}
#myCanvas{
background-color: #f60;
}
JS:
window.onload = function() {
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var img = document.getElementById("scream");
ctx.drawImage(img, 10, 10);
}
答案 0 :(得分:18)
使用globalAlpha
,但请确保在绘制图像之前进行设置:
ctx.globalAlpha = 0.4;