0
A
回答
1
您應該在Canvas教程中閱讀Compositing,它解釋瞭如何繪製一個矩形減去一個圓和類似的數字。
我認爲你正在尋找destination-out
:
<!DOCTYPE html>
<html>
<head>
<script>
window.onload = function() {
var ctx = document.getElementById('canvas').getContext('2d');
ctx.fillStyle = "#09f";
ctx.fillRect(15,15,70,70);
ctx.globalCompositeOperation = 'destination-out';
ctx.fillStyle = "#f30";
ctx.beginPath();
ctx.arc(75,75,35,0,Math.PI*2,true);
ctx.fill();
}
</script>
</head>
<body>
<canvas id="canvas" width="400" height="300"/>
</body>
</html>
看到它在行動上jsFiddle。
0
此外,您可以使用「剪輯」,而不是「清除」。類似的東西:
drawRectangle(ctx);
walkCirclePath(ctx);
ctx.clip();
ctx.clear();
但antialiasing不工作在這種方式;
0
好吧。 這很難。
我發現畫的每一個地方,除了在一個圓圈最好的解決辦法是
c.save();
c.beginPath();
c.moveTo(0, 0);
c.lineTo(x, 0);
c.arc(x, y, 75, - Math.PI/2, Math.PI * 2 - Math.PI/2, 1);
c.lineTo(x, 0);
c.lineTo(1000, 0);
c.lineTo(1000, 500);
c.lineTo(0, 500);
c.clip();
c.drawImage(window.tBitmap[0], x - 100, y - 100);
c.restore();
我不能相信taht沒有更好的解決辦法。但它適用於我的需要。
相關問題
- 1. HTML5 Canvas裁剪不正確?
- 2. 裁剪區域
- 3. 如何在html5中組合多個裁剪區域2d canvas畫圖
- 4. 不裁剪選定區域
- 5. 自定義裁剪區域Windows Mobile 6.x
- 6. 如何設置剪裁矩形或區域
- 7. 如何使用形狀來定義裁剪區域?
- 8. 無法裁剪區域
- 9. 如何設置自定義的區域設置Struts 2 ActionMapper
- 10. 您可以在HTML Canvas中有多個裁剪區域嗎?
- 11. html5 canvas自定義形狀
- 12. 黑莓設置剪輯區域/區域
- 13. Android中的自定義區域設置
- 14. Django自定義區域設置目錄
- 15. WPF:自定義區域設置
- 16. Spree_i18n前端自定義區域設置
- 17. 如何定義區域設置範圍?
- 18. 裁剪區域與iOS中的選定區域不同?
- 19. 如何在MATLAB中對興趣區域進行自動裁剪?
- 20. html canvas:剪裁和文本
- 21. 如何在畫布上裁剪選定區域的位圖?
- 22. 自定義矩形的圖像裁剪
- 23. 自定義圖像裁剪android
- 24. html5圖像裁剪
- 25. 如何在ZF1中使用自定義區域設置文件?
- 26. cropit jQuery插件 - 如何設置自定義拖放區域?
- 27. NSSlider NSSliderCell剪裁自定義旋鈕
- 28. Android自定義圖像裁剪器
- 29. 通過自定義形狀裁剪UIImage
- 30. WPF自定義進度條裁剪
嘿看看堆棧溢出這個問題,如果它可以幫助你Clipping circles on Canvas – Shadow
yeap。它接近我正在尋找的東西。除了我沒有成功地追蹤圈子的邊界,並且我正在尋找排除不保留它的圈子! – webshaker