正规的彩票

JavaScript图片旋转效果实现方法详解

 更新时间: 2020年06月28日 16:18:12   转载 作者: aTeacher  
这篇文章主要介绍了JavaScript图片旋转效果实现方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

zaicanvas apizhong,shangxiawencanvasrenderingcontext2dduixiangtigongleyigeyuzuobiaoxuanzhuanxiangguandefangfa:

void rotate(in float angle); // anjidingdehudushunshizhenxuanzhuanangle

rotate()fangfaxuanzhuandezhongxinshizhongshicanvasdeyuandian。ruguoyaogaibianxuanzhuanzhongxin,xuyaoshiyongtranslatefangfa。

zhengguidecaipiaokeyijianghuizhidetuxingmeigeyidingdeshijianjiangehou,xuanzhuanyidingdejiaoduzhongxinhuizhiyici,zheiyangjiukeyidedaoxuanzhuandedonghuaxiaoguo。

1.旋转的扇叶

jiangyigetixinganshunshizhenxuanzhuan90°defangshihuizhi4ci,keyihuizhichuyigeshanyetuan。jianghuizhideshanyetuanmeige0.1miaohoushunshizhenxuanzhuan12°,zhongxinhuizhiyibian,dedaoxuanzhuandeshanyedonghua。

bianxieruxiadehtmldaima。

<!DOCTYPE html>

<head>

	<title>旋转的扇叶</title>

	<script type="text/javascript">
		var context;
		var i;

		function draw(id)
		{
			var canvas = document.getElementById(
				id);
			if (canvas == null)
				return false;
			context = canvas.getContext('2d');
			i = 3;
			setInterval(move, 100);
		}

		function move()
		{
			context.clearRect(0, 0, 400, 300);
			context.save();
			context.fillStyle = 'green';
			context.translate(100, 100);
			context.rotate(i * Math.PI / 45)
			drawLeaf();
			i += 3;
			if (i >= 90) i = 3;
			context.restore();
		}

		function drawLeaf() // 绘制扇叶
		{
			context.save();
			for (var j = 0; j < 4; j++)
			{
				context.rotate(Math.PI / 2);
				context.beginPath();
				context.moveTo(-20, -80);
				context.lineTo(0, -80);
				context.lineTo(0, 0);
				context.lineTo(-30, 0);
				context.closePath();
				context.fill();
			}
			context.restore();
		}
	</script>

</head>

<body onload="draw('myCanvas');">

	<canvas id="myCanvas" width="200" height="200"
	style="border:3px double #996633;">

	</canvas>

</body>

</html>

正规的彩票jiangshangshuhtmldaimabaocundaoyigehtmlwenbenwenjianzhong,zaizailiulanqizhongdakaibaohanzheiduanhtmldaimadehtmlwenjian,keyizailiulanqichuangkouzhongkandaoshanyedexuanzhuandonghua,rutu1suoshi。

tu1 xuanzhuandeshanye

2.旋转的五角星

正规的彩票jianghuizhidewujiaoxingtuanmeige0.1miaohoushunshizhenxuanzhuan12°,zhongxinhuizhiyibian,dedaoxuanzhuandewujiaoxingdonghua。

正规的彩票bianxieruxiadehtmldaima。

<!DOCTYPE html>

<head>

	<title>旋转的五角星</title>

	<script type="text/javascript">
		var context;
		var i;

		function draw(id)
		{
			var canvas = document.getElementById(
				id);
			if (canvas == null)
				return false;
			context = canvas.getContext('2d');
			i = 3;
			setInterval(move, 100);
		}

		function move()
		{
			context.clearRect(0, 0, 400, 300);
			context.save();
			context.fillStyle = 'green';
			context.translate(100, 100);
			context.rotate(i * Math.PI / 45)
			drawStar(80);
			i += 3;
			if (i >= 90) i = 3;
			context.restore();
		}

		function drawStar(r) // 绘制五角星图案
		{
			context.save();
			context.fillStyle = "red";
			context.beginPath();
			context.moveTo(r, 0);
			for (var i = 0; i < 9; i++)
			{
				context.rotate(Math.PI / 5);
				if (i % 2 == 0)
					context.lineTo((r / 2), 0);
				else
					context.lineTo(r, 0);
			}
			context.closePath();
			context.fill();
			context.restore();
		}
	</script>

</head>

<body onload="draw('myCanvas');">

	<canvas id="myCanvas" width="200" height="200"
	style="border:3px double #996633;">

	</canvas>

</body>

</html>

正规的彩票jiangshangshuhtmldaimabaocundaoyigehtmlwenbenwenjianzhong,zaizailiulanqizhongdakaibaohanzheiduanhtmldaimadehtmlwenjian,keyizailiulanqichuangkouzhongkandaowujiaoxingdexuanzhuandonghua,rutu2suoshi。

tu2 xuanzhuandewujiaoxing

3.旋转的正六边形漩涡

正规的彩票zhengguidecaipiaoxianlaihuayigezhengliubianxing。zheiyangzuotu,shecongqidianxianghuitufangxianghuayitiaozhangweiidexianduan,jiangxianduandezhongdiansheweixindeqidian,tongshihuitufangxiangxuanzhuan60°,zaihuayitiaozhangweii+1dexianduan,zhongfuzheiyangdeguochenggonghuizhiliutiaoxianduan,zezheiliutiaoxianduangouchengyigezhengliubianxing。

bianxiehtmlwenjianneirongruxia。

<!DOCTYPE html>

<head>

	<title>正六边形</title>

	<script type="text/javascript">
		function draw(id)
		{
			var canvas = document.getElementById(
				id);
			if (canvas == null)
				return false;
			var context = canvas.getContext('2d');
			context.fillStyle = "#EEEEFF";
			context.fillRect(0, 0, 400, 400);
			context.translate(canvas.width / 2,
				canvas.height / 2);
			var colors = ['red', 'yellow',
				'green', 'cyan', 'blue', 'purple'
			];
			for (i = 150; i < 156; i++)
			{
				context.strokeStyle = colors[i % 6];
				context.lineWidth = 2;
				context.beginPath();
				context.moveTo(0, 0);
				context.lineTo(0, i / 2);
				context.stroke();
				context.translate(0, i / 2);
				context.rotate(-60 * (2 * Math.PI /
					360));
			}
		}
	</script>
</head>
<body onload="draw('myCanvas');">
	<canvas id="myCanvas" width="400" height="400"
	style="border:3px double #996633;">
	</canvas>
</body>
</html>

jiangshangshuhtmldaimabaocundaoyigehtmlwenbenwenjianzhong,zaizailiulanqizhongdakaibaohanzheiduanhtmldaimadehtmlwenjian,keyizaihuabuzhonghuizhiyigezhengliubianxingtuan,rutu3suoshi。

tu3 yigezhengliubianxing

huizhitu3dechengxuzhong,xunhuanjinxingle6ci,zhihuizhi6tiaobian。ruoxiugai“for (i =150; i < 156; i++)”yujuwei“for (i =150; i < 180; i++)”,shidexunhuanjinxing30ci,zezaihuabuzhonghuizhichurutu4suoshidetuan,gaituanyou5geliubianxingweicheng。ruoxiugaiyujuwei“for (i =0; i < 360; i++)”,zezaihuabuzhonghuizhichurutu5suoshideliubianxingtuan。

正规的彩票tu4 5geliubianxingweichengdetuan

tu5 zhengliubianxing

shengchengtu5tuandechengxuzhong,huitushixuanzhuandejiaoduwei60°,ruojiangxuanzhuanjiaodugaicheng59°,jijiangyuju“context.rotate(-60 * (2 * math.pi / 360));”xiugaiwei“context.rotate(-59 * (2 * math.pi / 360));”,zezaihuabuzhonghuizhichurutu6suoshidezhengliubianxingxuanwo。

tu6 zhengliubianxingxuanwo

jiangtu6dezhengliubianxingxuanwoxuanzhuanqilai。bianxieruxiadehtmlwenjian。

<!DOCTYPE html>

<head>

	<title>旋转的正六边形漩涡</title>

	<script type="text/javascript">
		var context;
		var count;

		function draw(id)
		{
			var canvas = document.getElementById(
				id);
			if (canvas == null)
				return false;
			context = canvas.getContext('2d');
			count = 3;
			setInterval(move, 100);
		}

		function move()
		{
			context.clearRect(0, 0, 400, 400);
			context.save();
			context.translate(200, 200);
			context.rotate(count * Math.PI / 45)
			drawSix();
			count += 3;
			if (count >= 90) count = 3;
			context.restore();
		}

		function drawSix() // 绘制正六边形漩涡图案
		{
			context.save();
			var colors = ['red', 'yellow',
				'green', 'cyan', 'blue', 'purple'
			];
			for (i = 0; i < 360; i++)
			{
				context.strokeStyle = colors[i % 6];
				context.lineWidth = i / 200 + 1;
				context.beginPath();
				context.moveTo(0, 0);
				context.lineTo(0, i / 2);
				context.stroke();
				context.translate(0, i / 2);
				context.rotate(-59 * (2 * Math.PI /
					360));
			}
			context.restore();
		}
	</script>
</head>
<body onload="draw('myCanvas');">
	<canvas id="myCanvas" width="400" height="400"
	style="border:3px double #996633;">
	</canvas>
</body>
</html>

jiangshangshuhtmldaimabaocundaoyigehtmlwenbenwenjianzhong,zaizailiulanqizhongdakaibaohanzheiduanhtmldaimadehtmlwenjian,keyizailiulanqichuangkouzhongkandaozhengliubianxingxuanwodexuanzhuandonghua,rutu7suoshi。

tu7suoshidedonghuaxiandeyouxiedandiao,zhengguidecaipiaoxiugaishangmiandechengxu,shidezaihuizhizhengliubianxingshidexuanzhuanjiaodujinxingbianhua,dedaobuduanzhuanyazhuandezhengliubianxing。

bianxiedehtmlwenjianneirongruxia。zheigehtmlwenjiandeneirongyushangyigehtmlwenjianneirong,xiugaileliangchu,weifangbianduzheyinyong,haishijichuwanzhengwenjianneirong。

tu7 zhengliubianxingxuanwodexuanzhuandonghua

<!DOCTYPE html>

<head>

	<title>旋转的正六边形漩涡</title>

	<script type="text/javascript">
		var context;
		var count;

		function draw(id)
		{
			var canvas = document.getElementById(
				id);
			if (canvas == null)
				return false;
			context = canvas.getContext('2d');
			count = 0;
			setInterval(move, 50);
		}

		function move()
		{
			context.clearRect(0, 0, 400, 400);
			context.save();
			context.translate(200, 200);
			context.rotate(count * Math.PI / 45)
			drawSix();
			count++;
			if (count >= 360) count = 0;
			context.restore();
		}

		function drawSix() // 绘制正六边形漩涡图案
		{
			context.save();
			var colors = ['red', 'yellow',
				'green', 'cyan', 'blue', 'purple'
			];
			var rotation = (2 * Math.sin(count /
				(3.14 * 20)));
			for (i = 0; i < 360; i++)
			{
				context.strokeStyle = colors[i % 6];
				context.lineWidth = i / 200 + 1;
				context.beginPath();
				context.moveTo(0, 0);
				context.lineTo(0, i / 2);
				context.stroke();
				context.translate(0, i / 2);
				context.rotate((-60 + rotation) * 2 *
					Math.PI / 360);
			}
			context.restore();
		}
	</script>
</head>
<body onload="draw('myCanvas');">
	<canvas id="myCanvas" width="400" height="400"
	style="border:3px double #996633;">
	</canvas>
</body>
</html>

jiangshangshuhtmldaimabaocundaoyigehtmlwenbenwenjianzhong,zaizailiulanqizhongdakaibaohanzheiduanhtmldaimadehtmlwenjian,keyizailiulanqichuangkouzhongkandaoyigegengjiashengdongdebuduanzhuanyazhuandezhengliubianxingxuanwodexuanzhuandonghua,rutu8suoshi。

tu8 gengshengdongdezhengliubianxingxuanwodexuanzhuandonghua

yishangjiushibenwendequanbuneirong,xiwangduidajiadexuexiyousuobangzhu,yexiwangdajiaduoduozhichijiaobenzhijia。

正规的彩票相关的文章

  • js算法中的排序、数组去重详细概述

    js算法中的排序、数组去重详细概述

    在js中实现数组排序,采用数组中sort方法实现还是比较简单的,下面有个不错的示例大家可以参考下
    2012-10-10
  • JS桶排序的简单理解与实现方法示例

    JS桶排序的简单理解与实现方法示例

    这篇文章主要介绍了JS桶排序的简单理解与实现方法,结合实例形式详细分析了js桶排序的概念、原理、实现方法及操作注意事项,需要的朋友可以参考下
    2018-11-11
  • 基于javascript实现图片懒加载

    基于javascript实现图片懒加载

    这篇文章主要介绍了javascript实现图片懒加载的方法及思路,有时正规的彩票需要用懒加载,也就是延迟加载图片的方式,来提高网站的亲和力,需要的朋友可以参考下
    2015-01-01
  • Javascript 制作图形验证码实例详解

    Javascript 制作图形验证码实例详解

    这篇文章主要介绍了Javascript 制作图形验证码实例详解的相关资料,附有实例代码及实现效果图,需要的朋友可以参考下
    2015-12-12
  • layui监听单元格编辑前后交互的例子

    layui监听单元格编辑前后交互的例子

    今天小编就为大家分享一篇layui监听单元格编辑前后交互的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • javascript 中iframe高度自适应(同域)实例详解

    javascript 中iframe高度自适应(同域)实例详解

    这篇文章主要介绍了javascript 中iframe高度自适应(同域)实现代码的相关资料,需要的朋友可以参考下
    2016-05-05
  • 详解webpack+gulp实现自动构建部署

    详解webpack+gulp实现自动构建部署

    这篇文章主要介绍了详解webpack+gulp实现自动构建部署,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • ReactNative实现图片上传功能的示例代码

    ReactNative实现图片上传功能的示例代码

    本篇文章主要介绍了ReactNative实现图片上传功能的示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2016-07-07
  • js强制把网址设为默认首页

    js强制把网址设为默认首页

    有时候你会发现设首页为失效,那么来一个js强制设置首页的代码,不过为了绿色上网,尽量不要强迫你的用户意志,弄不好网站用户体验会降低。感兴趣的小伙伴可以参考一下
    2014-09-09
  • js innerHTML 的一些问题的解决方法

    js innerHTML 的一些问题的解决方法

    innerHTML 属性的使用非常流行,因为他提供了简单的方法完全替代一个 HTML 元素的内容。另外一个方法是使用 DOM Level 2 API(removeChild, createElement, appendChild)。但很显然,使用 innerHTML 修改 DOM tree 是非常容易且有效的方法。
    2007-06-06

最新评论

正规的彩票_正规彩票平台app下载[首页最快线路√] 彩票官网_彩票官网app|网站首页 彩票平台_彩票平台快三-[平台最快线路√] 彩票app下载_彩票app下载官网下载快三_官方入口 彩票平台_彩票平台app-专注彩票门户 彩票官网_彩票官网app下载网址-HOME 彩票平台_彩票平台登录-老品牌最信誉 彩票app_彩票app客户端下载>> 首页 彩票平台_彩票平台免费送彩金18-点击进入>! 彩票平台_彩票平台官网〖2020购彩首选〗 彩票app_彩票app彩票投注平台-Welcome