在跨瀏覽器使用HTML5 canvas API嘗試縮放和裁剪圖像時,我正面臨一個非常奇怪的問題。canvas context.draw跨瀏覽器的圖像差異?
具體來說,我有嘗試基於它的寬度和高度使用這些參數作爲specified上下文API
context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);
這裏找到一個圖像的中心和裁剪方工作的的一個例子代碼我使用:
<!DOCTYPE html>
<html>
<body>
<p>Image to use:</p>
<img id="scream" width="220" height="277" src="img_the_scream.jpg" alt="The Scream">
<p>Canvas:</p>
<canvas id="myCanvas" width="150" height="150" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.
</canvas>
<script>
window.onload = function() {
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
var img = document.getElementById("scream");
ctx.drawImage(img, 0, 25, 220, 277, 0, 0, 150, 188);
}
</script>
</body>
</html>
你可以在這裏嘗試演示: http://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_canvas_drawimage2
的C ode在Safari上不顯示畫布上的任何內容,但它可以在Chrome中正確縮放和裁剪圖像。
我會上傳圖片,但stackoverflow有一個任意的規則,不允許我發佈圖片,直到我有更高的聲譽!
這裏的任何想法,將不勝感激!
在什麼瀏覽器中有什麼不同? – adeneo
在Chrome上,它正確渲染並顯示縮放/裁剪圖像,但在Safari和Firefox上,它在畫布上顯示一個空白方塊。 –
以下是兩張圖片的鏈接: Safari:http://cl.ly/image/3e051H2s2l0b Chrome:http://cl.ly/image/2M3H2J1U0X15 同樣,我無法將它們添加到帖子中,因爲我沒有足夠的聲望。 –