2017-04-19 10 views
0

コードに含まれるイメージがキャンバスにレンダリングされません。他のランドスケープイメージを使用すると、完全に正常に動作します。私は間違って何をしていますか?描画されたイメージがキャンバスにレンダリングされない

var canvas = document.getElementById("canvas"); 
 
var ctx = canvas.getContext("2d"); 
 

 
var image = document.createElement("img"); 
 

 
image.onload = function(){ 
 
    canvas.width = image.width; 
 
    canvas.height = image.height; 
 
    ctx.drawImage(image,0,0); 
 
} 
 

 
image.src = "http://org.school66.group.us.west.2.s3.amazonaws.com/church.jpg" 
 
// this image works perfectly fine 
 
// http://org.school66.group.us.west.2.s3.amazonaws.com/bookclub.jpg
<canvas id="canvas"></canvas><br> 
 
<button id="clockwise">Rotate right</button> 
 
<button id="counterclockwise">Rotate left</button>

+0

両方提供された画像が働いています。 https://jsfiddle.net/93p5akp2/あなたの問題はどこですか? – Felix

+0

私はクロムを使用しており、そこでは機能しません。私はそれがサファリ&ffで動作するのを見ます。私の主なブラウザはchromeです... Thanks Felix –

+0

'canvas'要素の' height'と 'width'を設定しましたか? – Felix

答えて

0

それはこのようになります:

var canvas=document.getElementById("canvas"); 
var ctx=canvas.getContext("2d"); 

var img = new Image(); 
img.onload = function() { 
    canvas.width = image.width; 
    canvas.height = image.height; 
    ctx.drawImage(img,0,0); 
}; 
img.src = "http://org.school66.group.us.west.2.s3.amazonaws.com/church.jpg"; 
+0

私もそれを試しました。それはクロムを除くすべてのブラウザで動作します。キャンバスの基本は空白になります。 –

+0

次に、間隔時間を追加します。 canvas.width = image.width; canvas.height = image.height; 関数draw(){ ctx.drawImage(img、0,0); }; setInterval(draw()、100); – Vepok

+0

私はそれが必要でしょうか?あなたは何が起こっていると思いますか?私はすでにイメージを描画しています...ロードは... drawImage同期ではありませんか? –

関連する問題