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

回答編集履歴

3

クロスドメイン=>クロスオリジン

2017/04/18 06:10

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -4,7 +4,7 @@
4
4
  => image#onloadイベントでContext#drawImageを行ってください。
5
5
 
6
6
  2, image#srcに設定しているimageは質問文ではサーバーの"photo.png"ですが、
7
- もしもクロスドメインイメージを設定したい時は注意してくださいなー。
7
+ もしもクロスオリジイメージを設定したい時は注意してくださいなー。
8
8
  参考
9
9
  [CORS Enabled Image](https://developer.mozilla.org/ja/docs/Web/HTML/CORS_enabled_image)
10
10
 

2

onloadイベントとsrc要素がレースコンディションになっていたので、修正!

2017/04/18 06:09

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -29,7 +29,6 @@
29
29
  var ctx = canvas.getContext('2d');
30
30
  /* Imageオブジェクトを生成 */
31
31
  var img = new Image();
32
- img.src = "photo.png";
33
32
  img.onload = function() {
34
33
  ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
35
34
  ctx.fillStyle = "blue";
@@ -40,6 +39,7 @@
40
39
  ctx.fillText("見出しテキスト", canvas.width/2, canvas.height);
41
40
  fld1.value = canvas.toDataURL();
42
41
  };
42
+ img.src = "photo.png";
43
43
  }
44
44
  draw();
45
45
  send_form.action = "load.php";

1

用語を修正。

2017/04/16 01:40

投稿

umyu
umyu

スコア5846

answer CHANGED
@@ -1,10 +1,10 @@
1
1
  > img.src = "photo.png";
2
2
 
3
- 1,image#src は非同期です。
3
+ 1,image#src 要素は非同期です。
4
- => image#onloadメソッドでContext#drawImageを行ってください。
4
+ => image#onloadイベントでContext#drawImageを行ってください。
5
5
 
6
6
  2, image#srcに設定しているimageは質問文ではサーバーの"photo.png"ですが、
7
- もしもクロスドメインイメージ呼び出したい時は注意してくださいなー。
7
+ もしもクロスドメインイメージを設定したい時は注意してくださいなー。
8
8
  参考
9
9
  [CORS Enabled Image](https://developer.mozilla.org/ja/docs/Web/HTML/CORS_enabled_image)
10
10
 
@@ -13,7 +13,7 @@
13
13
  <html lang="ja">
14
14
  <head>
15
15
  <meta charset="UTF-8">
16
- <title>video thumbnail clipping</title>
16
+ <title></title>
17
17
  </head>
18
18
  <body onload="draw();">
19
19
  <canvas id="canvas1" width="500" height="500"></canvas>