我針對的是谷歌瀏覽器。是否可以在畫布上繪製透明圖像?透明我的意思是繪製整個圖像像50%的不透明度。如何使用html5 canvas元素繪製透明圖像
回答
canvas元素具有全局alpha屬性,可以讓您將任何繪製的部分透明度應用。
至少在鉻版本4.1.249.1045中起作用。 – 2010-05-26 22:31:24
@Mr。貝爾:爲Chrome而+1。 – 2010-05-26 22:45:49
這對我有用。 +1 – dariopy 2011-11-21 19:43:50
如果您迭代通過畫布的圖像數據並手動設置alpha值,然後使用canvas.toDataURL方法導出透明圖像並將其插入到另一個畫布中,則可能會出現這種情況。
如果您想在另一個畫布上繪製畫布,則不必調用toDataURL,'drawImage'將畫布作爲imageSource接受。 – Kaiido 2016-07-09 23:27:04
您可以使用globalAlpha的財產,這樣做:
<!DOCTYPE HTML>
<html>
<body>
<canvas height="100" width="100" id="myCanvas"></canvas>
<script>
var canvas = document.getElementById("myCanvas");
var context = canvas.getContext("2d");
context.globalAlpha = 0.5;
var myImage = new Image();
myImage.src = "someImage.jpg";
myImage.onload = function()
{
context.drawImage(myImage, 0, 0, 100, 100);
};
</script>
</body>
</html>
是的,它確實與圖像工作。在Win 7上使用IE 9,FF 5,Safari 5和Chrome 12進行驗證。
在Firefox 30+中,'globalAlpha'不適用於使用'drawImage'繪製的圖像:https://bugzilla.mozilla.org/show_bug.cgi?id=1028288 – 2014-10-08 06:57:32
@Derek,此錯誤僅涉及svg圖像。 – Kaiido 2016-07-09 23:25:48
- 1. 用JavaScript在HTML canvas元素上繪製透明圖像
- 2. 如何繪製位圖,但不繪製透明像素?
- 3. 繪製透明圖像
- 4. 繪製透明圖像
- 5. 將兩個圖像繪製爲HTML5 Canvas
- 6. 如何繪製像使用CGContextClearRect繪製透明矩形的透明圓形
- 7. 在透明元素下在NSView中繪製圖像背景
- 8. drawBitmap使用透明位圖繪製,替換原始像素
- 9. 繪製透明圖像不起作用
- 10. 用透明度繪製圖像
- 11. JavaScript canvas使透明圖像更暗
- 12. 如何使用透明度繪製PNG圖像輪廓(邊框)
- 13. 如何在透明圖像下繪製使用JAVA FX 2
- 14. 如何使用System.Drawing繪製透明圖像?
- 15. 如何使用Nokia Qt C++繪製和導出透明圖像?
- 16. 如何使Canvas在android中繪製區域透明?
- 17. HTML5畫布繪製多個透明PNG圖像
- 18. 在WinForms上繪製透明圖像
- 19. Java Graphics2D繪製透明色的圖像
- 20. html5 canvas圖像陣列 - 將圖像繪製到畫布
- 21. javascript canvas不繪製圖像
- 22. 如何使用GDI繪製透明BMP +
- 23. HTML5 clicable canvas元素?
- 24. 如何將HTML5 canvas元素保存爲圖像?
- 25. 如何在Java中使繪製的圖像透明
- 26. canvas toDataURL()返回透明圖像
- 27. Javascript HTML5畫布繪製透明圓圈
- 28. 如何繪製透明線?
- 29. Android,canvas:如何繪製透明圓而不疊印?
- 30. 製作像素半透明
您是否希望畫布透明以便可以將其放在其他元素上? – Justin 2010-05-26 21:28:09
不,這是不可能的。看到這個答案:http://stackoverflow.com/questions/2359537/how-to-change-the-opacity-alpha-transparency-of-an-element-in-a-canvas-element – Intelekshual 2010-05-26 21:42:31
賈斯汀,不,我想在其他畫布元素上繪製半透明圖像。我沒有興趣讓整個畫布變得透明。 Intelekshual,在Chrome中至少設置context.globalAlpha效果後續context.drawImages。 – 2010-05-26 22:34:37