2016-03-18 30 views
0

我試圖在畫布中繪製圖像。這在Firefox,但無法在Chrome 49Chrome並未在畫布中繪製特定的jpg圖像

context.drawImage(backgroundImage, 0, 0); 

的jsfiddle:https://jsfiddle.net/kp5otnyu/3/

圖片鏈接:http://www.boardgame-online.com/img/stackoverflow_chrome_test.jpg

東西似乎是錯誤的圖像。我們嘗試在另一個繪製的jpg中處理圖像,然後運行。但這張圖片有什麼問題?

+1

我使用的是Chrome 51,它可以在我的瀏覽器中使用。 –

+0

這很有趣。我找不到有關此問題的錯誤報告。 – Anorionil

+0

絕對是Chrome 49中的一個bug。可以在該版本的多個設備上進行再現。值得注意的是:圖像在標籤中正確加載。如果在代碼執行之前加載到標記中,它將起作用。但是,當它在onload事件後直接加載到時,Chrome會認爲圖像是空白的。如果之後將它放入標記中,那也是空白的。 Chrome在49版本中確實搞砸了。原因是什麼?未知。 – Dysprosium

回答

0

這個問題在Chrome 50中得到解決。當我在更新的瀏覽器,圖像顯示打開的jsfiddle。

0

編輯:這是不是一個答案,所有的歡呼@kaiido

工作例如:

var backgroundImage = new Image(); 
 

 
var canvas = document.createElement("canvas"); 
 
var context = canvas.getContext("2d"); 
 
canvas.width = 500; 
 
canvas.height = 100; 
 
\t \t \t \t 
 
backgroundImage.onload = function(){ 
 
\t context.clearRect(0, 0, 300, 300); 
 
\t context.drawImage(backgroundImage, 0, 0); 
 
} 
 
backgroundImage.src = "http://www.boardgame-online.com/img/stackoverflow_chrome_test.jpg"; 
 

 
$("#test").append(canvas);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 
 
<div id="test"> 
 

 
</div>

不起作用例如:

var backgroundImage = new Image(); 
 

 
var canvas = document.createElement("canvas"); 
 
var context = canvas.getContext("2d"); 
 
canvas.width = 400; 
 
canvas.height = 400; 
 
\t \t \t \t 
 
backgroundImage.onload = function(){ 
 
\t context.clearRect(0, 0, 300, 300); 
 
\t context.drawImage(backgroundImage, 0, 0); 
 
} 
 
backgroundImage.src = "http://www.boardgame-online.com/img/stackoverflow_chrome_test.jpg"; 
 

 
$("#test").append(canvas);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 
 
<div id="test"> 
 

 
</div>

+0

沒有從[http://jsfiddle.net/kp5otnyu/1/](http://jsfiddle.net/kp5otnyu/1/)(http://jsfiddle.net/kp5otnyu/1/)執行相同的操作,問題在別處: – Kaiido

+0

爲我們工作也與stacksnippet起源...嘗試我的評論中的鏈接。 – Kaiido

+0

是的,它不工作,所以它不是一個鉻問題,它是一個jsfiddle策略,如果你可以用https訪問圖像,你可以測試它。 – SilentTremor