flash位图技术研究篇(6):黑白画
2010-02-22 10:34
267 查看
继续把上面的资料记录一下,像素画是对每一个像素进行操作进行重组,而这些操作可以看到位图像素操作是可以变化出很多令人意想不到的效果。今天,把在网站看到的一些文章记录一下,关于黑白画像素操作。原理很简单,从一张图片可以看到是由一个个像素组成,可以看成是一个个细小的微粒。这些微粒包含了一些值,颜色值,这些值呈现出不同的颜色,as3可以对每一个像素进行索引,通过这个索引我们就可以对画面的某一些像素进行“动手脚”,在某一些值范围内设置白色,某一些值范围内设置黑色。
黑色:0x000000;
白色:0xffffff;
这样就能够实现到黑白画的效果。
演示的效果。
黑色:0x000000;
白色:0xffffff;
这样就能够实现到黑白画的效果。
演示的效果。
package { import flash.display.Sprite; import flash.display.Loader; import flash.display.Bitmap; import flash.display.BitmapData; import flash.events.*; import flash.net.*; import flash.geom.Rectangle; public class Main extends Sprite { private var loader:Loader; private var url:String="3.jpg"; public function Main() { init(); } //初始化 private function init():void { loader=new Loader();//外部加载一张图片 loader.load(new URLRequest(url)); loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete); } private function onComplete(event:Event):void { var Width:Number=loader.content.width; var Height:Number=loader.content.height; addChild(new Bitmap(Bitmap(loader.content).bitmapData)); var bmpData:BitmapData=new BitmapData(Width,Height,false,0xffffff);//新建一个空白的位图数据 bmpData.draw(loader);//获取影像 //进行像素获取,重组像素 for (var i:int=0; i<Width; i++) { for (var j:int=0; j<Height; j++) { var color:uint=bmpData.getPixel(i,j); if(color>0x3fffff) bmpData.setPixel(i,j,0xffffff);//设置白色 else bmpData.setPixel(i,j,0x000000);//设置黑色 } } //显示到列表菜单 var bitmap:Bitmap=new Bitmap(bmpData); bitmap.x=Width; addChild(bitmap); } } }
相关文章推荐
- flash位图技术研究篇(6):黑白画
- flash位图技术研究篇(6):黑白画
- flash位图技术研究篇(2):渲染缓冲区
- flash位图技术研究篇(8):扫描像素点
- flash位图技术研究篇(3):移动缓冲区域
- flash位图技术研究篇(4): flash舞台屏幕录制
- flash位图技术研究篇(5):像素画
- flash位图技术研究篇(7):像素粒子(2)
- flash位图技术研究篇(7):像素粒子
- flash位图技术研究篇(9):2D平面映射球体
- flash位图技术研究篇(7):像素粒子(2)
- flash位图技术研究篇(7):像素粒子
- flash位图技术研究篇(7):像素粒子1
- flash位图技术研究篇(9):2D平面映射球体
- flash位图技术研究篇(4): flash舞台屏幕录制
- flash位图技术研究篇(5):像素画
- flash位图技术研究篇(7):像素粒子2
- flash位图技术研究篇(3):移动缓冲区域
- flash位图技术研究篇(1):缓冲技术
- flash位图技术研究篇(4): flash舞台屏幕录制