首页 > 软件开发 > JavaScript >

Javascript与HTML5的canvas实现图片旋转

来源:互联网 2023-03-16 23:57:33 361

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

工具/原料

  • adobe dreamweaver

方法/步骤

  • 1

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

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

  • 2

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

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

  • 3

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 4

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

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

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

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

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

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

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

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

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

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

  • 5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 6

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

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

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

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

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

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


    标签: HTMLJAVASCRIPT

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