skip to main |skip to sidebar

2007-11-18

[AS3]高级图形处理(2)——老照片滤镜

照片的时间久了,就会出现褪色、模糊、杂色

实现方法

褪色
使用ColorTransform。参数为new ColorTransform(0.7, 0.7, 0.7, 0x44, 0x33, 0x22)
模糊
使用BlurFilter。参数为new BlurFilter(0.2, 0.2)
添加杂色
使用BitmapData.noise($randomSeed, 0xee, 0xff, 7, true)

核心代码

//Color Transform
outputBitmapData.colorTransform( sourceRect, new ColorTransform(0.7, 0.7, 0.7, 0x44, 0x33, 0x22) );
//Blur
outputBitmapData.applyFilter( outputBitmapData, sourceRect, destPoint, new BlurFilter(0.2, 0.2) );
//Noise
var noise:BitmapData = new BitmapData($width, $height, false);
noise.noise(0, 0xee, 0xff, 7, true);
outputBitmapData.draw(
noise,
new Matrix(1, 0, 0, 1, destPoint.x, destPoint.y),
null,
BlendMode.MULTIPLY
);

完整代码下载

没有评论: