Flash 8 Professional Copy Pixels位图象素复制

村花进城

村花进城

2016-01-29 13:57

Flash 8 Professional Copy Pixels位图象素复制,Flash 8 Professional Copy Pixels位图象素复制

  除了 8 中自带的各种简单Filter滤镜效果之外,还对bitmapData位图对象提供了非常强大的象素操作。当然,有了象素级的操作,最直接的用途就是我们可以直接控制位图中的每个点,改变他的颜色、位置,能直接创造属于自己的丰富的滤镜,当然,前途是美好的,一定要注意执行效率,虽然Flash Player8的效率已经大为提高,不过我还是在试验各种象素操作中误入超大运算而死机……。

  今天的例子是最为简单的一个得到象素并复制到一个新对象中的操作,不过有了这个功能,位图操作的可能性就无限量了。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fjc/)

  Flash代码:

  import flash.display.*;

  import flash.geom.*;

  //导入本例所需要的二个Pageage

  var sourceBD:BitmapData = BitmapData.loadBitmap(”mypic”);

  //创建bitmapData对象以用于存放源图片,源图已在库中并命名为mypic

  var mc:MovieClip = this.createEmptyMovieClip(”mc”, this.getNextHighestDepth());

  mc._x = 25;

  mc._y = 100;

  mc.attachBitmap(sourceBD,mc.getNextHighestDepth());

  //在Stage上创建空MC,并使用MC的attachBitmap方法将刚才创建的bitmapData对象读取到这个MC中

  var targetBD:BitmapData = new BitmapData(230, 230, false, 111111);

  //创建另一个bitmapData对象作为复制目标

  var mc2:MovieClip = this.createEmptyMovieClip(”mc”, this.getNextHighestDepth());

  mc2._x = 290;

  mc2._y = 100;

  mc2.attachBitmap(targetBD,mc.getNextHighestDepth());

  //同样在Stage上创建空MC用于存放复制目标

  mc.onRollOver = function() {

  //当鼠标移动到拥有源图的MC上时,开始CopyPixels

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fjc/)

  copyPixels();

  };

  mc.onRollOut = function() {

  //移出状态停止Copy

  stopcopyPixels();

  };

  //Copy Pixels Function

  function copyPixels() {

  this.onMouseMove = function() {

  setCursor();//设置鼠标光标

  var point:Point = new Point(_xmouse, _ymouse);

  mc.globalToLocal(point);

  //得到当前鼠标座位,并使用globalToLocal转换为MC内部的坐标值

  var rect:Rectangle = new Rectangle(point.x, point.y, 20, 20);

  /*创建一个Rectangle对象用以确定要复制的矩形区域

  Rectangle对象是Flash8中新增对象,包的位置在flash.geom.Rectangle,flash.geom对象除了拥有Rectangle矩形数据对象之外,还有其它用于存放几何数据的对象类型,包括Point,Tranform等

  Rectangle的构造方式为

  public Rectangle(x:Number, y:Number, width:Number, height:Number)

    

[next]

  x,y:起始座位

  width,height:矩形的宽和高,最终将建立一个从 x,y到 x+width,y+height的矩形区域数据

  */

  var dest:Point = new Point(point.x, point.y);

  //建立dest对象用于存放目标点

  targetBD.copyPixels(sourceBD,rect,dest);

  /*这里就是本例操作的关键方法,copyPixels,用于将源图中的某个区域的象素复制到当前对象中

  构造方式为public copyPixels(sourceBitmap:BitmapData, sourceRect:Rectangle, destPoint:Point, alphaBitmap:BitmapData, alphaPoint:Point, mergeAlpha:Boolean)

  sourceBitmap:需要复制的源图,为BitmapData对象类型,这里就套用为前面建立的sourceBD

  sourceRect:复制区域

  deskPoint:目标点,明确将区域复制到本对象的哪一个位置,本例中完全还原源图的象素所在位置

  以下几个参数在本例中都没有使用到

  alphaBitmap和alphaPoint:表示可以通过另一个图片用于在复制的时候对源图产生一个alpha通道来创建带alpha通道效果的复制结果.

  mergeAlpha的属性是指是否启用源图的alpha通图,但目前没有调试出具体效果,有待再研究.*/

  };

  }

  function stopcopyPixels() {

  //停止copyPixels

  clearCursor();

  delete this.onMouseMove;

  }

  function setCursor() {

展开更多 50%)
分享

猜你喜欢

Flash 8 Professional Copy Pixels位图象素复制

flash教程
Flash 8 Professional Copy Pixels位图象素复制

Flash Professional 8超酷实例欣赏和剖析

flash教程
Flash Professional 8超酷实例欣赏和剖析

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Flash Professional CC 安装教程

电脑网络
Flash Professional CC 安装教程

在Flash中使用位图的技巧

flash教程
在Flash中使用位图的技巧

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Flash教程:制作复制功能键-Flash actionscript

FLASH flash教程
Flash教程:制作复制功能键-Flash actionscript

象素边框制作

PS PS教程
象素边框制作

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《怪物猎人X》武士道长枪操作技巧详解

《怪物猎人X》武士道长枪操作技巧详解

用Flash MX软件制作遥控小汽车

用Flash MX软件制作遥控小汽车
下拉加载更多内容 ↓