html5自动旋转图片,HTML5画布旋转图片

你可以使用canvas’context.translate& context.rotate来旋转你的图像

这里有一个函数来绘制旋转了指定度数的图像:

function drawRotated(degrees){

context.clearRect(0,0,canvas.width,canvas.height);

// save the unrotated context of the canvas so we can restore it later

// the alternative is to untranslate & unrotate after drawing

context.save();

// move to the center of the canvas

context.translate(canvas.width/2,canvas.height/2);

// rotate the canvas to the specified degrees

context.rotate(degrees*Math.PI/180);

// draw the image

// since the context is rotated, the image will be rotated also

context.drawImage(image,-image.width/2,-image.width/2);

// we’re done with the rotating so restore the unrotated context

context.restore();

}

body{ background-color: ivory; }

canvas{border:1px solid red;}

$(function(){

var canvas=document.getElementById("canvas");

var ctx=canvas.getContext("2d");

var angleInDegrees=0;

var image=document.createElement("img");

image.οnlοad=function(){

ctx.drawImage(image,canvas.width/2-image.width/2,canvas.height/2-image.width/2);

}

image.src="houseicon.png";

$("#clockwise").click(function(){

angleInDegrees+=30;

drawRotated(angleInDegrees);

});

$("#counterclockwise").click(function(){

angleInDegrees-=30;

drawRotated(angleInDegrees);

});

function drawRotated(degrees){

ctx.clearRect(0,0,canvas.width,canvas.height);

ctx.save();

ctx.translate(canvas.width/2,canvas.height/2);

ctx.rotate(degrees*Math.PI/180);

ctx.drawImage(image,-image.width/2,-image.width/2);

ctx.restore();

}

}); // end $(function(){});

Rotate right

Rotate left

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这不是一个问题,而是一个要求,我会尽力回答你的需求。对于HTML5图片自动翻转特效,可以使用CSS3的transform属性来实现。具体实现方法可以参考以下代码: ```html <div class="flip-container"> <div class="flipper"> <div class="front"> <img src="image.jpg" alt="Image"> </div> <div class="back"> <img src="image.jpg" alt="Image"> </div> </div> </div> ``` ```css .flip-container { perspective: 1000px; position: relative; } .flipper { position: absolute; width: 100%; height: 100%; transition: transform 0.6s; transform-style: preserve-3d; } .flipper:hover { transform: rotateY(180deg); } .front, .back { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; } .back { transform: rotateY(180deg); } ``` 对于CSS3带动态阴影效果的3D图片翻转特效,可以使用以下代码实现: ```html <div class="flip-container"> <div class="flipper"> <div class="front"> <img src="image.jpg" alt="Image"> </div> <div class="back"> <img src="image.jpg" alt="Image"> </div> </div> </div> ``` ```css .flip-container { perspective: 1000px; position: relative; } .flipper { position: absolute; width: 100%; height: 100%; transition: transform 0.6s; transform-style: preserve-3d; box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); } .flipper:hover { transform: rotateY(180deg); } .front, .back { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; } .back { transform: rotateY(180deg); } ``` 希望这些代码可以帮助到你,如果有任何问题,可以继续问我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值