当前位置: 主页 > 网页制作 > Flash > Flash AS3.0彩色变黑白效果的代码

Flash AS3.0彩色变黑白效果的代码

时间:2009-12-17来源:互联网 点击:
先看原图片:


相关代码:
package {
import flash.display.*;
import flash.events.*;
import flash.ui.Mouse;
import flash.net.*;
public class TurnGray extends Sprite {
private var myURL:String = "images_01.jpg";
private var originalBitmapData:BitmapData;
private var squareBitmapData:BitmapData;
private var grayBitmapData:BitmapData;
private var loaded:Boolean = false;
private var loader:Loader;
private var pic:Bitmap;
private var color:uint;
private var gray:uint;
private var R:uint;
private var squareLength:int = 30;
private var xMouse:Number;
private var yMouse:Number;

public function TurnGray():void {
download();
stage.addEventListener(MouseEvent.MOUSE_MOVE,onMousemove);
function onMousemove(e:MouseEvent):void {
bitmapDataGray();
e.updateAfterEvent();
}
}
public function download():void {
loader = new Loader();
loader.load(new URLRequest(myURL));
loader.contentLoaderInfo.addEventListener(Event.INIT,onLoaded);
function onLoaded(e:Event):void {
loaded = true;
originalBitmapData = Bitmap(e.target.content).bitmapData;
pic = new Bitmap(originalBitmapData);
addChild(pic);
}
}
private function bitmapDataGray():void {
var xMouse = mouseX;
var yMouse = mouseY;
for (var i:int = (xMouse-squareLength/2); i<(xMouse+squareLength/2); i++) {
for (var j:int = (yMouse-squareLength/2); j<(yMouse+squareLength/2); j++) {

color = originalBitmapData.getPixel(i,j);
R = (color>>16) & (0xff);
gray = R + (R<<8)+(R<<16);
originalBitmapData.setPixel(i,j,gray);


}
}
}
}
}
站长资讯网
. TAG: Flash AS3.0彩色变黑白效果
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言