teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

文法の修正

2017/01/20 22:22

投稿

raccy
raccy

スコア21768

answer CHANGED
@@ -1,4 +1,4 @@
1
- `var canvas = $("#myCanvas");`とあるとおり、`canvas`は**jQueryオブジェクト**です。対して、`toDataURL()`はcanvasの**DOM Elementオブジェクト**(正確にはcanvas用のHTMLCavnasElementオブジェクト)のメソッドになりますの、jQueryオブジェクトにたいしてメソッドを呼び出してもうまくいきません。jQueryオブジェクトからDOM Elementオブジェクトを取り出し、それに対してメソッドを呼び出す必要があります。
1
+ `var canvas = $("#myCanvas");`とあるとおり、`canvas`は**jQueryオブジェクト**です。対して、`toDataURL()`はcanvasの**DOM Elementオブジェクト**(正確にはcanvas用のHTMLCavnasElementオブジェクト)のメソッドになります。そため、jQueryオブジェクトにしてメソッドを呼び出してもうまくいきません。jQueryオブジェクトからDOM Elementオブジェクトを取り出し、それに対してメソッドを呼び出す必要があります。
2
2
 
3
3
  その方法は、すでに`ctx`を取得するところでやっています。そう、添字`0`でアクセスする、つまり、`canvas[0].toDataURL("image/jpeg", 0.4)`とするだけです。
4
4