HTML5キャンバス要素のSVGからevenodd
fill-rule
を実装するには、ネイティブまたは数学的にJavaScriptを使用できますか?これを行うプロジェクトへのリンクが役立ちます。キャンバス要素のSVG偶数塗りつぶし規則の使用
4
A
答えて
0
はい、globalCompositeOperation
で可能です。私が間違っていない場合、デフォルトの "ソースオーバー"値はSVGの "evenodd"に対応する必要があります(そうでない場合は他のものを少し試して、結果のイメージが同じかどうかを確認してください)。
0
数学的には、アルゴリズムの実装を意味しますか?確かに可能です。http://gpolo.awardspace.info/fill/main.htmlを参照してください。それは何よりもデモですが、この問題を「数学的に」解決します。
0
私は同じ質問をしてthis Mozilla Bugreportに出くわしました。それはbugreportersでWHATWG(キャンバス仕様)に提案されますよう
は思え:
クリス・ジョーンズ、2011年6月10日:
この仕様は固体で見られるまでのは、ドキュメントを待ちましょうwhatwg(今日は投稿します)。物事が一度に異なっている必要がありますが、長い時間前から、あなたは
fill()
メソッドにfillrule
パラメータを渡すことができますので、本当に古い質問だ
0
。 このfillrule
は、"nonzero"
(デフォルト)または"evenodd"
のいずれかです。
var ctx = c.getContext('2d');
drawPath();
ctx.fill();
ctx.translate(70, 0);
drawPath();
ctx.fill('evenodd');
ctx.translate(70, 0);
drawPath();
ctx.stroke();
function drawPath(){
ctx.beginPath();
ctx.arc(30,30,20,0,Math.PI*2);
ctx.lineTo(60,60);
ctx.lineTo(0,0);
ctx.closePath();
}
<canvas id="c"></canvas>
関連する問題
- 1. 不規則な形のUIBezierPathの塗りつぶし
- 2. SVG - ジェットカラースキームを使用した塗りつぶしの長方形
- 3. HTMLキャンバスで偶数奇数塗りを使用
- 4. data-URIの塗りつぶし色を擬似要素のSVGパス
- 5. SVGのパーセンテージを入力して塗りつぶしを
- 6. グラデーションの塗りつぶしとキャンバスのサイズ?
- 7. html 5キャンバスで塗りつぶし&ストロークの幅の問題
- 8. HTML5キャンバス要素内のSVG
- 9. オブジェクトを使ってSVGイメージパターンを塗りつぶす方法は?
- 10. キャンバスに色を塗りつぶし、黒色にします
- 11. svgの4つの線の間の領域の塗りつぶし
- 12. 塗りつぶし楕円
- 13. 塗りつぶしプログラム
- 14. 塗りつぶしマップ - java
- 15. フィールドを塗りつぶし
- 16. toolStripDropDownButtonを塗りつぶし
- 17. スプライングラフグラデーション塗りつぶし
- 18. itext塗りつぶしテーブル
- 19. ゼロで塗りつぶし
- 20. ブートストラップを使用したボタンの塗りつぶしの高さ
- 21. ImageViewsを使用したAndroidの塗りつぶしの配列
- 22. ストアドプロシージャを使用したデータセットのカスタムテーブルの塗りつぶし
- 23. プログレスバータイプの塗りつぶしを使用したjQueryスライダーバー
- 24. Fabric.js - インポートしたSVGの色/塗りつぶし/ストロークを変更します
- 25. 子SVGノードの塗りつぶしをJqueryで探しますか?
- 26. SVG - ボタンのクリックで塗りつぶしの色を変更する
- 27. 複数の要素を1つのjQuery Ajax呼び出しで塗りつぶす
- 28. WPFでのドッキング/塗りつぶし
- 29. CoreGraphics塗りつぶしのパスとストロークパス
- 30. Pythonとwebbrowserフォームの塗りつぶし
複数の図形を描画している場合、これは動作します。しかし、単一のパスを描いている場合、それはありません。他の考え? – devongovett
複合!=塗りつぶし。彼らは異なった概念です。グローバル複合操作設定は、塗りつぶし規則に影響しません。 – jwfearn