HTML5キャンバス要素にSVGイメージを含めるにはどうすればよいのですか?ブラウザウィンドウのサイズを変更するとSVGのサイズも調整されますか?HTML5キャンバス要素内のSVG
0
A
答えて
4
これは、私がちょうど正しい方向にあなたを指摘するつもりであることを実証するためにかなり定型コードを必要とします。
myCanvas
という名前のキャンバスオブジェクト/要素にアクセスできるとします。 var ctx = myCanvas.getContext('2d')
を実行すると、ctx
はCanvasRenderingContext2D
のインスタンスになります。
dx
とdy
は、左上隅からのオフセットである:あなたがあなたのイメージimg
を描画するとき今、あなたはctx.drawImage(img, dx, dy, sw, sh)
を実行します。sw
およびsh
は画像の絶対サイズです。
したがって、画像サイズをsw
とsh
に調整します。 myCanvas.height
とmyCanvas.width
でアクセスできるキャンバスのサイズに依存するようにします。
キャンバスの幅/高さをウィンドウのサイズに応じて設定します。ウィンドウサイズはwindow.innerWidth
とwindow.innerHeight
でアクセスします。サイズを変更すると、window.addEventListener('resize', function (evt) { /* handle resize here */ });
のようにこのイベントを聞くことができます。例:
var updateCanvasSize, canvasRelativeSize;
canvasRelativeSize = .5;
updateCanvasSize = function (evt) {
myCanvas.width = canvasRelativeSize * window.innerWidth;
myCanvas.height = canvasRelativeSize * window.innerHeight;
draw(); // redraws the canvas since size has changed
};
関連する問題
- 1. html5キャンバス要素の印刷
- 2. HTML5グラフィックスSVG、キャンバス、CSS
- 3. SVG対HTML5キャンバスの図
- 4. HTML5キャンバス要素のスクロール検証
- 5. HTML5キャンバス要素をオブジェクトとして
- 6. キャンバス内の要素のイベント
- 7. SVG内のOPTION要素
- 8. フィルタをHTML5キャンバスに実装したSVG
- 9. HTML5キャンバスにCSSスタイルでSVGを描く
- 10. html5キャンバスのキャンバス
- 11. Html5キャンバス要素の色の深度を変更
- 12. キャンバス要素内の入力フォーム
- 13. jqueryダイアログ内のキャンバス要素ui
- 14. D3 SVG内の要素を選択
- 15. HTML5キャンバス要素を使用した四角形のグラデーション
- 16. HTML5通知内のフォーム要素
- 17. HTML5キャンバス(動画)要素を細かく分割する
- 18. HTML5キャンバス要素を説明する良いスクリーンキャストソース
- 19. ファイルにhtml5キャンバス要素を保存する(ローカル)
- 20. jsとhtml5キャンバス要素を使用した放射状チャート
- 21. HTML5キャンバス要素とJavascriptで3Dモデルをロード
- 22. SVGパス要素
- 23. SVG要素のouterHTML
- 24. SVG要素のツールチップ
- 25. HTML5空要素
- 26. HTML5のスタイルカスタム要素
- 27. HTML5のボタン要素
- 28. 関数内のHTML5キャンバス参照
- 29. HTML5キャンバスをSVGに変換する方法は?
- 30. HTML5キャンバスのクロスオリジンデータ
* "ブラウザのサイズを変更するとSVGのサイズも調整できるように" *:キャンバスは**サイズ変更しないことを知っていますか?ウィンドウは自動的に表示されますか? –
あります。それでこれは不可能ですか? – shub
私はまだSVGで作業していません。私は、キャンバスにSVGイメージを追加することができたとしても、この唯一のアクションはサイズ変更の問題を解決できないと言っています。キャンバスのサイズ変更はJavaScriptで行います。たぶん同じテクニックを使用してSVGイメージのサイズを変更することができます。 –