HTML5中drawImage用法分析

字號:


    本文實例分析了HTML5中drawImage使用時遇到的問題及解決方法。分享給大家供大家參考。具體分析如下:
    使用Image遇到的問題:
    代碼如下:
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title></title>
    <script src="js/jquery-1.9.1.min.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
    $(function() {
    var jsCanv = document.getElementById("canv");
    var oCanv = jsCanv.getContext("2d");
    var img = new Image();
    img.src = "img.png";
    oCanv.drawImage(img, 220, 30);
    })
    </script>
    </head></p> <p> <body>
    <canvas id="canv" width="500" height="500">
    瀏覽器不支持
    </canvas>
    </body>
    </html>
    其實這種寫法是有錯誤的,實際上只要一刷新圖片就不顯示出來。要想保證刷新正常顯示需要在Image onload的時候重繪一次才行。測試在chrome 19下會出現(xiàn)的問題。
    解決方案
    代碼如下:
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title></title>
    <script src="js/jquery-1.9.1.min.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
    $(function() {
    var jsCanv = document.getElementById("canv");
    var oCanv = jsCanv.getContext("2d");
    var img = new Image();
    img.src = "img.png";
    img.onload = function() {
    oCanv.drawImage(img, 220, 30);
    }
    })
    </script>
    </head>
    <body>
    <canvas id="canv" width="500" height="500">
    瀏覽器不支持
    </canvas>
    </body>
    </html>