我試圖繪製圖像到畫布上,像這樣:的javascript:如何canvas.drawImage工作
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("scream");
ctx.drawImage(img,0,0,100,100,0,0,200,200);
畫布是由200像素和200像素的圖像要大得多(但在200像素風格也就是200px)
正如您在jsfiddle中所看到的,畫布不顯示圖像(我期待圖像的一部分)。 我的drawImage的理解(如被描述here)是這樣的:
- 「0,0,100,100」,其是被吸入到畫布上的部分中的圖像上定義一矩形。 0,0定義了頂部/左邊角,100,100是邊的寬度。
- 這個矩形被繪製到矩形內的帆布0,0,200,200
任何建議定義什麼不順心嗎?
錯誤有,我相信,圖像尚未加載。我認爲你需要使用回調函數來顯示圖像,一旦它被加載,但我會留下實際的答案給誰肯定的人:) – kviiri
jsfiddle問題是跨域,在你機器的作品? –
@kviiri:沒有問題,提問者從圖像中剪下了白色空間。但是如果圖像之前沒有加載(不在瀏覽器緩存中),那麼確實會發生這種情況。 – GitaarLAB