html5 图片360旋转

test.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图片360度旋转</title>
    <style>
        input {
            font-size:18px;
            padding:5px 20px 5px 20px;
            font-weight:bold;
            color:white;
            background-color:#c5464a;
            cursor:pointer;
            border:none;
            outline:none;
            border-radius:7px 7px 7px 7px;
        }

    </style>
    <script  type="text/javascript"  src="test.js"></script>
</head>
<body>
<input type="button" value="←">
<input type="button" value="→">
<div id="mydiv">
    <img src="img3.jpg" id="img">
</div>
</body>
</html>

  test.js

window.onload = function() {
    var inputval = document.getElementsByTagName(‘input‘);
    var imgval = document.getElementById(‘img‘);
    var yimg = new Image();
    var iNow = 0;
    yimg.onload = function() {
        draw(imgval);
    }

    yimg.src = imgval.src;

    function draw(obj) {
        var c = document.createElement(‘canvas‘);
        var cxt = c.getContext(‘2d‘);

        c.width = obj.width;
        c.height = obj.height;

        obj.parentNode.replaceChild(c, obj);

        cxt.drawImage(obj, 0, 0);

        inputval[1].onclick = function() {
            if (iNow == 3) {
                iNow = 0;
            } else {
                iNow++;
            }
            toChange();
        };

        inputval[0].onclick = function() {
            if (iNow == 0) {
                iNow = 3;
            } else {
                iNow--;
            }
            toChange();
        };

        function toChange() {
            switch (iNow) {
                case 0:
                    c.width = obj.width;
                    c.height = obj.height;
                    cxt.rotate(0 * Math.PI / 180);
                    cxt.drawImage(obj, 0, 0);
                    break;
                case 1:
                    c.width = obj.height;
                    c.height = obj.width;
                    cxt.rotate(90 * Math.PI / 180);
                    cxt.drawImage(obj, 0, -obj.height);
                    break;
                case 2:
                    c.width = obj.width;
                    c.height = obj.height;
                    cxt.rotate(180 * Math.PI / 180);
                    cxt.drawImage(obj, -obj.width, -obj.height);
                    break;
                case 3:
                    c.width = obj.height;
                    c.height = obj.width;
                    cxt.rotate(270 * Math.PI / 180);
                    cxt.drawImage(obj, -obj.width, 0);
                    break;
                case 4:
                    c.width = obj.width;
                    c.height = obj.height;
                    cxt.rotate(360 * Math.PI / 180);
                    cxt.drawImage(obj, obj.width, obj.height);
                    break;
            }
        }
    }
}

  图片:

效果:

2017-09-08 23:03:47

时间: 2024-11-10 22:04:20

html5 图片360旋转的相关文章

HTML5图片旋转

HTML5图片旋转 首先我们使用Cococs2dx-Js-Lite版,来创建一个工程,我们所需要的开发环境如下: 1,webstrom 2,google chrome浏览器 3,cocos2dx-Js-Lite 引擎 使用cocos2d-Js也可以! 第一步: 我们来进行Cocos2dx-Js-Lite来创建工程: 我们只需要拷贝这3个文件到我们的工程更目录文件夹中: 拷贝完之后我们根目录如下: 然后我们在我们webstrom中创建两个路径文件夹res(存放图片资源),src文件夹(存放js代码

图片360度旋转

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>图片循环旋转</title> <style> *{margin: 0; padding: 0;} @-webkit-keyframes rotation{ from {-webkit-transform: rotate(0deg);} to {-webkit-transform:

CSS3鼠标悬停图片360度旋转效果

一个用HTML5/css3写成的图片旋转特效,鼠标放上后图片就开始不停的旋转,对CSS3动画效果感兴趣的,更不可错过哦,用CSS3实现动画效果很不错的范例. <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <title>CSS3鼠标悬停图片360度旋转效果丨电表控制器|www.sjzkeda.com</title>

浮士德html5图片裁剪器2016开源版

前言 最近刚刚好整理浮士德头像裁剪的flash版本,为了某些低级浏览器的兼容着想,既然已经做好了flash版本了,那么,现代浏览器的html5版本和ipad版,移动版也要做一些处理和打包. 兼容性 兼容ie10及以上,google浏览器,Firefox浏览器,safari浏览器,兼容ipad,苹果,安卓等机型. 历史文档 话说图片裁剪这个是很常见的需求,但是做到精细化和兼容处理也是相当费工夫的,本人光是博客相关文件都有7.8篇了,解决的大大小小bug不计其数,本插件不但解决了下面的各种bug,而

HTML5图片预览

作者:Snandy 两种方式实现 URL FileReader 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 <!DOCTYPE HTML> <html>     <head>     <meta charset="utf

android 从相册中选择图片并判断图片是否旋转

今天在做图片合成时,首先从相册中选择图片,然后判断该图片是否旋转了,今天就讲下图片是否旋转,直接上代码 /** * 读取照片exif信息中的旋转角度 * * @param path * 照片路径 * @return角度 获取从相册中选中图片的角度 */ public static int readPictureDegree(String path) { if (TextUtils.isEmpty(path)) { return 0; } int degree = 0; try { ExifInt

CSS3实现图片循环旋转

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>图片循环旋转</title> <style> .ta_c{text-align: center; margin-top: 100px;} @-webkit-keyframes rotation{ from {-webkit-transform: rotate(0deg);} to

windows phone 摄像头得到图片是旋转90&#176;

我上个随笔讲到,windows phone 拍出来的photo如果直接使用是反转了90°的. 研究了很久..终于发现问题.其实..这是使用习惯问题... CameraCaptureUI 得到的photo 其实是 以第2图水平的方向为基准的.为什么我会这样说呢..让我们看一下用模拟器拍摄的photo.注意到左边那些字没有. 再给一个水平的,可以看的更清楚.YUY2(640x480) 说白了..其实水平才是别人老外认为的默认视角..但是有人说..这样子..竖着拍的时候就拿到的却会横着显示..很奇怪.

让图片任意旋转

前几天做了一个让图片旋转任意角度的功能,今天跟大家分享一下.. 1.首先把力图片加载进来. //strPagePath为图片的路径 System.Drawing.Image ImgPointer = null; if (File.Exists(strPagePath)) ImgPointer = System.Drawing.Image.FromFile(strPagePath);//加载图片 2.设置图片显示的坐标 //设置坐标和显示图片框的大小(我这里图片框大小为图片大小) Rectangl