将不透明度的图像绘制到画布上

时间:2015-07-29 18:40:51

标签: javascript jquery html5 css3 canvas

我有一张照片。我使用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);
}

1 个答案:

答案 0 :(得分:18)

使用globalAlpha,但请确保在绘制图像之前进行设置:

ctx.globalAlpha = 0.4;