• 技术文章 >web前端 >H5教程

    关于html5如何在canvas中插入图片的示例详解

    黄舟黄舟2018-05-26 16:09:14原创6060
    canvas loading...

    在canvas中显示图片非常简单。可以通过修正层为图片添加印章、拉伸图片或者修改图片等,并且图片通常会成为canvas上的焦点。用HTML5 Canvas API内置的几个简单命令可以轻松地为canvas添加图片内容。

    不过,图片增加了canvas操作的复杂度:必须等到图片完全加载后才能对其进行操作。浏览器通常会在页面脚本执行的同时异步加载图片。如果试图在图片未完全加载之前就将其呈现到canvas上,那么canvas将不会显示任何图片。因此,开发人员要特别注意,在呈现之前,应确保图片已经加载完毕。

    为保证在呈现之前图片已完全加载,我们提供了回调,即仅当图像加载完成时才执行后续代码,如代码清单如下所示。

    <script type="text/javascript">
    function drawBeauty(beauty){
    var mycv = document.getElementById("cv");  
    var myctx = mycv.getContext("2d");
    myctx.drawImage(beauty, 0, 0);
    }
    function load(){
    var beauty = new Image();  
    beauty.src = "http://images.cnblogs.com/cnblogs_com/html5test/359114/r_test.jpg"; 
    if(beauty.complete){
       drawBeauty(beauty);
    }else{
       beauty.onload = function(){
         drawBeauty(beauty);
       };
       beauty.onerror = function(){
         window.alert('美女加载失败,请重试');
       };
    };   
    }//load
    if (document.all) {
      window.attachEvent('onload', load);  
      }else {  
      window.addEventListener('load', load, false);
      }
    </script>

    基本绘画

    在最基本的画图操作中,你需要的只是希望图像出现处的位置(x和y坐标)。图像的位置是相对于其左上角来判断的。使用这种方法,图像可以简单的以其原尺寸被画在画布上。

    drawImage(image, x, y)
    var canvas = document.getElementById(‘myCanvas’);
    var ctx = canvas.getContext(’2d’);
    ctx.drawImage(myImage, 50, 50);
    ctx.drawImage(myImage, 125, 125);
    ctx.drawImage(myImage, 210, 210);

    缩放及调整尺寸

    改变图像的尺寸,你需要使用重载的drawImage函数,提供给它希望的宽度和高度参数。

    drawImage(image, x, y, width, height)
    var canvas = document.getElementById(‘myCanvas’);
    var ctx = canvas.getContext(’2d’);ctx.drawImage(myImage, 50, 50, 100, 100);
    ctx.drawImage(myImage, 125, 125, 200, 50);
    ctx.drawImage(myImage, 210, 210, 500, 500);

    图像裁剪

    最后一个drawImage方法的功用是对图像进行裁剪。

    drawImage(image,
    sourceX,
    sourceY,
    sourceWidth,
    sourceHeight,
    destX,
    destY,
    destWidth,
    destHeight)

    参数很多,但基本上你可以把它想成从原图中取出一个矩形区域,然后把它画到画布上目标区域里。

    以上就是关于html5如何在canvas中插入图片的示例详解的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:canvas html5 插入
    上一篇:关于canvas的一个实例教程--刮刮乐 下一篇:html5动画中关于等待加载动画的实例分享
    Web大前端开发直播班

    相关文章推荐

    • 小强的HTML5移动开发之路(3)——HTML5与HTML4比较• HTML5边玩边学(二)-基础绘图• phonegap使用方法介绍(八)操作数据库• html5配合css3实现带提示文字的输入框(摆脱js)_html5教程技巧• HTML5 b和i标记将被赋予真正的语义_html5教程技巧

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网