首页 > 软件开发 > HTML >

Javascript与HTML5的canvas实现图片旋转

来源:互联网 2023-03-16 19:10:50 295

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

工具/原料

  • adobe dreamweaver

方法/步骤

  • 1

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

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

  • 2

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

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

  • 3

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 4

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

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

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

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

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

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

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

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

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

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

  • 5

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 6

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

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

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

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

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

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


    标签: HTMLJAVASCRIPT

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