首页 > 软件开发 > JavaScript >

Javascript与HTML5的canvas实现图片旋转

来源:互联网 2023-03-16 23:57:33 版权归原作者所有,如有侵权,请联系我们

Javascript与HTML5的canvas实现图片旋转QYm办公区 - 实用经验教程分享!

工具/原料

  • adobe dreamweaver

方法/步骤

  • 1

    新建html文档。QYm办公区 - 实用经验教程分享!

    Javascript与HTML5的canvas实现图片旋转QYm办公区 - 实用经验教程分享!

  • 2

    准备好需要用到的图标。QYm办公区 - 实用经验教程分享!

    Javascript与HTML5的canvas实现图片旋转QYm办公区 - 实用经验教程分享!

  • 3

    书写hmtl代码。QYm办公区 - 实用经验教程分享!

    div id="main">QYm办公区 - 实用经验教程分享!

    div class="aaa">QYm办公区 - 实用经验教程分享!

    div id="tool">QYm办公区 - 实用经验教程分享!

    a href="#" id="arr_left" onclick="rotate('myimg','left')">向左/a>QYm办公区 - 实用经验教程分享!

    a href="#" id="arr_right" onclick="rotate('myimg','right')">向右/a>QYm办公区 - 实用经验教程分享!

    /div>QYm办公区 - 实用经验教程分享!

    div id="img">QYm办公区 - 实用经验教程分享!

    img src="images/aaa.jpg" width="650" height="320" alt="" id="myimg" />QYm办公区 - 实用经验教程分享!

    /div>QYm办公区 - 实用经验教程分享!

    /div>QYm办公区 - 实用经验教程分享!

    /div>QYm办公区 - 实用经验教程分享!

    Javascript与HTML5的canvas实现图片旋转QYm办公区 - 实用经验教程分享!

  • 4

    书写css代码。QYm办公区 - 实用经验教程分享!

    * { margin: 0; padding: 0; }QYm办公区 - 实用经验教程分享!

    body { font-size: 12px; padding: 50px; }QYm办公区 - 实用经验教程分享!

    a { color: #333; text-decoration: none; }QYm办公区 - 实用经验教程分享!

    .aaa { width: 650px; margin: 0px auto }QYm办公区 - 实用经验教程分享!

    #tool { height: 28px; line-height: 24px }QYm办公区 - 实用经验教程分享!

    #tool a { display: block; float: left; width: 50px; height: 20px; background: url(../images/arr.gif) no-repeat; font-size: 14px; text-indent: 16px }QYm办公区 - 实用经验教程分享!

    #tool a#arr_left { background-position: 2px 6px }QYm办公区 - 实用经验教程分享!

    #tool a#arr_right { background-position: 2px -21px }QYm办公区 - 实用经验教程分享!

    Javascript与HTML5的canvas实现图片旋转QYm办公区 - 实用经验教程分享!

  • 5

    书写并添加js代码。QYm办公区 - 实用经验教程分享!

    script>QYm办公区 - 实用经验教程分享!

    function rotate(obj,arr){QYm办公区 - 实用经验教程分享!

    var img = document.getElementById(obj);QYm办公区 - 实用经验教程分享!

    if(!img || !arr) return false;QYm办公区 - 实用经验教程分享!

    var n = img.getAttribute('step');QYm办公区 - 实用经验教程分享!

    if(n== null) n=0;QYm办公区 - 实用经验教程分享!

    if(arr=='left'){QYm办公区 - 实用经验教程分享!

    (n==0)? n=3:n--;QYm办公区 - 实用经验教程分享!

    }else if(arr=='right'){QYm办公区 - 实用经验教程分享!

    (n==3)? n=0:n ;QYm办公区 - 实用经验教程分享!

    }QYm办公区 - 实用经验教程分享!

    img.setAttribute('step',n);QYm办公区 - 实用经验教程分享!

    //对IE浏览器使用滤镜旋转QYm办公区 - 实用经验教程分享!

    if(document.all) {QYm办公区 - 实用经验教程分享!

    img.style.filter = 'progid:DXImageTransform.Microsoft.BasicImage(rotation=' n ')';QYm办公区 - 实用经验教程分享!

    //HACK FOR MSIE 8QYm办公区 - 实用经验教程分享!

    switch(n){QYm办公区 - 实用经验教程分享!

    case 0:QYm办公区 - 实用经验教程分享!

    img.parentNode.style.height = img.height;QYm办公区 - 实用经验教程分享!

    break;QYm办公区 - 实用经验教程分享!

    case 1:QYm办公区 - 实用经验教程分享!

    img.parentNode.style.height = img.width;QYm办公区 - 实用经验教程分享!

    break;QYm办公区 - 实用经验教程分享!

    case 2:QYm办公区 - 实用经验教程分享!

    img.parentNode.style.height = img.height;QYm办公区 - 实用经验教程分享!

    break;QYm办公区 - 实用经验教程分享!

    case 3:QYm办公区 - 实用经验教程分享!

    img.parentNode.style.height = img.width;QYm办公区 - 实用经验教程分享!

    break;QYm办公区 - 实用经验教程分享!

    }QYm办公区 - 实用经验教程分享!

    // 对现代浏览器写入HTML5的元素进行旋转: canvasQYm办公区 - 实用经验教程分享!

    }else{QYm办公区 - 实用经验教程分享!

    var c = document.getElementById('canvas_' obj);QYm办公区 - 实用经验教程分享!

    if(c== null){QYm办公区 - 实用经验教程分享!

    img.style.visibility = 'hidden';QYm办公区 - 实用经验教程分享!

    img.style.position = 'absolute';QYm办公区 - 实用经验教程分享!

    c = document.createElement('canvas');QYm办公区 - 实用经验教程分享!

    c.setAttribute("id",'canvas_' obj);QYm办公区 - 实用经验教程分享!

    img.parentNode.appendChild(c);QYm办公区 - 实用经验教程分享!

    }QYm办公区 - 实用经验教程分享!

    var canvasContext = c.getContext('2d');QYm办公区 - 实用经验教程分享!

    switch(n) {QYm办公区 - 实用经验教程分享!

    default :QYm办公区 - 实用经验教程分享!

    case 0 :QYm办公区 - 实用经验教程分享!

    c.setAttribute('width', img.width);QYm办公区 - 实用经验教程分享!

    c.setAttribute('height', img.height);QYm办公区 - 实用经验教程分享!

    canvasContext.rotate(0 * Math.PI / 180);QYm办公区 - 实用经验教程分享!

    canvasContext.drawImage(img, 0, 0);QYm办公区 - 实用经验教程分享!

    break;QYm办公区 - 实用经验教程分享!

    case 1 :QYm办公区 - 实用经验教程分享!

    c.setAttribute('width', img.height);QYm办公区 - 实用经验教程分享!

    c.setAttribute('height', img.width);QYm办公区 - 实用经验教程分享!

    canvasContext.rotate(90 * Math.PI / 180);QYm办公区 - 实用经验教程分享!

    canvasContext.drawImage(img, 0, -img.height);QYm办公区 - 实用经验教程分享!

    break;QYm办公区 - 实用经验教程分享!

    case 2 :QYm办公区 - 实用经验教程分享!

    c.setAttribute('width', img.width);QYm办公区 - 实用经验教程分享!

    c.setAttribute('height', img.height);QYm办公区 - 实用经验教程分享!

    canvasContext.rotate(180 * Math.PI / 180);QYm办公区 - 实用经验教程分享!

    canvasContext.drawImage(img, -img.width, -img.height);QYm办公区 - 实用经验教程分享!

    break;QYm办公区 - 实用经验教程分享!

    case 3 :QYm办公区 - 实用经验教程分享!

    c.setAttribute('width', img.height);QYm办公区 - 实用经验教程分享!

    c.setAttribute('height', img.width);QYm办公区 - 实用经验教程分享!

    canvasContext.rotate(270 * Math.PI / 180);QYm办公区 - 实用经验教程分享!

    canvasContext.drawImage(img, -img.width, 0);QYm办公区 - 实用经验教程分享!

    break;QYm办公区 - 实用经验教程分享!

    };QYm办公区 - 实用经验教程分享!

    }QYm办公区 - 实用经验教程分享!

    }QYm办公区 - 实用经验教程分享!

    /script>QYm办公区 - 实用经验教程分享!

    Javascript与HTML5的canvas实现图片旋转QYm办公区 - 实用经验教程分享!

  • 6

    代码整体结构。QYm办公区 - 实用经验教程分享!

    Javascript与HTML5的canvas实现图片旋转QYm办公区 - 实用经验教程分享!

  • 6相关内容未经许可获取自百度经验
  • 7

    查看效果。QYm办公区 - 实用经验教程分享!

    Javascript与HTML5的canvas实现图片旋转QYm办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!QYm办公区 - 实用经验教程分享!


    标签: HTMLJAVASCRIPT

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号