2011-04-06 36 views
0

我正在爲Iphone的Web應用程序工作。我有一個使用畫布的網頁,在畫布上我使用畫布drawImage()函數繪製線條,方框,圓和一些圖像。該頁面在windows chrome,windows safari,OSX chrome和OSX safari中加載並運行良好,但不是iphone safari。在Iphone web應用上使用畫布drawImage()函數

它似乎停止在drawImage()函數。我搜索了關於Iphone是否支持畫布drawImage函數但是找不到任何東西的信息。我錯過了什麼?

+0

'typeof canvas.drawImage'在iPhone上返回什麼? – 2011-04-06 21:58:46

+0

您是否看到[this](http://stackoverflow.com/questions/2878580/bug-in-ipads-html5-canvas-drawimage-implementation)帖子? – 2011-04-06 22:00:06

+0

@馬特:是的drawImage功能 – pop850 2011-04-06 22:16:09

回答

4

問題可能是圖像在您進行繪製調用時尚未加載。別擔心,這也發生在我身上。你需要做的是:

var image = new Image("http://mydomain/myimage.jpg"); 
image.onload = function() { 
    context.drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh); 
} 
+0

是的,我認爲我做了...... – Euclid 2011-04-07 05:46:13

+0

ES我想我這樣做...... \t \t //預載圖片第一 \t IMG =新的圖片(); \t img.src =「rotate.png」; \t \t 的onload =函數() \t { \t畫布=的document.getElementById( '畫布'); \t W = canvas.width; \t H = canvas.height; \t draw(); ...更多代碼。 \t} – Euclid 2011-04-07 05:53:28

+0

它看起來像你分配變量「onload」圖像加載時該怎麼做。將它替換爲「img.onload = ...」 – pop850 2011-04-10 11:50:47