ActionScript 3.0(入门)(五)实现对图片的放大缩小旋转

身处陌生的环境,我们时常会感受到难以适从。

ActionScript3,在2012年左右,还可以发现。但是在十年后的今天。随着Flash,被宣布死刑。他的路也不远了。冲啊。以后必将是前端的天下。冲啊html。
前端学习:https://web.qianguyihao.com/

别问我为什么说这么多,还在学,问就是,公司靠这个赚钱。而我在这个岗位。哈哈哈。

ActionScript3视觉编程。可以很直观的操作一些图片、视频等东西。
今天就用它来操作一下图片,实现对图片的放大缩小,旋转操作。

开发工具:Flash Builder,简称Fb

  1. 直接新建一个项目
    在这里插入图片描述
    在这里插入图片描述

  2. 看书吧,或者看一些as3视觉编程的知识。了解显示对象,显示对象容器,显示对象模型,Sprite类,矢量图和位图等等各种类。学习如何将图片加载进来,复制图片内容进入Bitmap,然后获取Bitmap的BitmapData数据通过构造函数,获取指向BitmapData对象的Bitmap引用,这个引用就可以当成是这个图片的位图对象。直接冲。我在说啥?

  3. 将图片加载进入之后,就可以对图片进行操作了。我这里设置了三个形似按钮的Sprite的按钮模式。可以点击,并且设置相对应的监听事件,然后进行监听。处理。

  4. 在放大和缩小上的操作,操作的是图形的scaleX和scaleY。(表示从注册点开始应用的对象的水平缩放比例(百分比)。默认注册点为 (0,0)。1.0 等于 100% 缩放。
    缩放本地坐标系统将更改 x 和 y 属性值,这些属性值是以整像素定义的。
    )。就酱紫

  5. 对于旋转操作,则是定义了一个容器,然后将图片对象放在容器当中,然后移动图片的注册点位置,使其中心点处在容器的左上角,这样一来就可以通过旋转容器来实现图片按中心点旋转的操作了。

package
{
	import flash.display.Bitmap;
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.net.URLRequest;
	import flash.text.TextField;
	
	public class BitmapTest2 extends Sprite
	{
		public function BitmapTest2()
		{
			const IMAGE_URL:String = "image2.png";
			const btnX:Number = 0;
			const btnY:Number = 300;
			
			var pic:Loader = new Loader();
			pic.contentLoaderInfo.addEventListener(Event.COMPLETE,pic_show);
			pic.load(new URLRequest(IMAGE_URL));
			
			var bitmap1:Bitmap;
			function pic_show(event:Event):void {
				
				// 加载图片
				var bmp:Bitmap = pic.content as Bitmap;
				bitmap1 = new Bitmap(bmp.bitmapData);
				// 这是一个布尔值属性,设置为 true 时,缩放图像时,可使图像中的像素平滑或消除锯齿。它可使图像更加清晰、更加自然。
				bitmap1.smoothing = true;
				
				// 创建一个显示对象容器,然后定义它的位置,当然只是一个容器也是可以的
				var sp:Sprite = new Sprite();

				// 然后把这个图片放入容器当中,
				sp.addChild(bitmap1);
				addChild(sp)
		
				
				// 将容器的左上角的点设置为图片的中心点即可(这里需要将图片作为操作对象,进行移动)
				bitmap1.x = -bitmap1.width/2;
				bitmap1.y = -bitmap1.height/2;
				
				// 设置容器的位置
				sp.x = 150;
				sp.y = 100;
				
				
				// 放大
				var sp1:Sprite = new Sprite();
				sp1.buttonMode = true;
				sp1.graphics.beginFill(0xff87ceeb);
				sp1.graphics.drawRect(btnX,btnY,50,20);
				sp1.graphics.endFill();
				
				var text1:TextField = new TextField();
				text1.x = btnX + 10;
				text1.y = btnY - 20;
				text1.text = "放大";
				text1.autoSize="left";
				sp1.addChild(text1);
				addChild(sp1);
				
				sp1.addEventListener(MouseEvent.CLICK,pic_toBig);

				function pic_toBig(event:Event):void {
					sp.scaleX = sp.scaleX*2;
					sp.scaleY = sp.scaleY*2;
				}
				
				
				// 缩小
				var sp2:Sprite = new Sprite();
				sp2.buttonMode = true;
				sp2.graphics.beginFill(0xFFDAA520);
				sp2.graphics.drawRect(btnX+100,btnY,50,20);
				sp2.graphics.endFill();
				
				var text2:TextField = new TextField();
				text2.x = btnX+110;
				text2.y = btnY - 20;
				text2.text = "缩小";
				text2.autoSize="left";
				addChild(text2);
				sp2.addChild(text2);
				addChild(sp2);
				
				sp2.addEventListener(MouseEvent.CLICK,pic_toSmall);

				function pic_toSmall(event:Event):void {
					sp.scaleX = sp.scaleX*.5;
					sp.scaleY = sp.scaleY*.5;
				}
				
				// 旋转
				var sp3:Sprite = new Sprite();
				sp3.buttonMode = true;
				sp3.graphics.beginFill(0xFFDB7093);
				sp3.graphics.drawRect(btnX+200,btnY,50,20);
				sp3.graphics.endFill();
				
				var text3:TextField = new TextField();
				text3.x = btnX+210;
				text3.y = btnY - 20;
				text3.text = "旋转";
				text3.autoSize="left";
				sp3.addChild(text3);
				
				addChild(sp3);
				
				sp3.addEventListener(MouseEvent.CLICK,pic_toRot);
	
				function pic_toRot(event:Event):void {
					sp.rotation = sp.rotation + 45;
				}
				
			}
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值