ActionScript 3.0(入门)(五)实现对图片的放大缩小旋转
作者:互联网
身处陌生的环境,我们时常会感受到难以适从。
ActionScript3,在2012年左右,还可以发现。但是在十年后的今天。随着Flash,被宣布死刑。他的路也不远了。冲啊。以后必将是前端的天下。冲啊html。
前端学习:https://web.qianguyihao.com/
别问我为什么说这么多,还在学,问就是,公司靠这个赚钱。而我在这个岗位。哈哈哈。
ActionScript3视觉编程。可以很直观的操作一些图片、视频等东西。
今天就用它来操作一下图片,实现对图片的放大缩小,旋转操作。
开发工具:Flash Builder,简称Fb
-
直接新建一个项目
-
看书吧,或者看一些as3视觉编程的知识。了解显示对象,显示对象容器,显示对象模型,Sprite类,矢量图和位图等等各种类。学习如何将图片加载进来,复制图片内容进入Bitmap,然后获取Bitmap的BitmapData数据通过构造函数,获取指向BitmapData对象的Bitmap引用,这个引用就可以当成是这个图片的位图对象。直接冲。我在说啥?
-
将图片加载进入之后,就可以对图片进行操作了。我这里设置了三个形似按钮的Sprite的按钮模式。可以点击,并且设置相对应的监听事件,然后进行监听。处理。
-
在放大和缩小上的操作,操作的是图形的scaleX和scaleY。(表示从注册点开始应用的对象的水平缩放比例(百分比)。默认注册点为 (0,0)。1.0 等于 100% 缩放。
缩放本地坐标系统将更改 x 和 y 属性值,这些属性值是以整像素定义的。
)。就酱紫 -
对于旋转操作,则是定义了一个容器,然后将图片对象放在容器当中,然后移动图片的注册点位置,使其中心点处在容器的左上角,这样一来就可以通过旋转容器来实现图片按中心点旋转的操作了。
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;
}
}
}
}
}
标签:addChild,pic,Sprite,sp,3.0,ActionScript,var,new,入门 来源: https://blog.csdn.net/pinenutssg1/article/details/121559299