天天看点

as 图片处理

已知的一些图像处理,主要是得到颜色过滤矩阵,不完整,大家一起来补充。

//颜色转换数组,所有的0都是可调值

public var colorArray:Array = [1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0];

1.处理图像为灰度:

//取值范围0~3

colorArray[0] = (1-0)*0.3086+0;

colorArray[1] = (1-0)*0.6094;

colorArray[2] = (1-0)*0.0820;

colorArray[5] = (1-0)*0.3086;

colorArray[6] = (1-0)*0.6094+0;

colorArray[7] = (1-0)*0.0820;

colorArray[10] = (1-0)*0.3086;

colorArray[11] = (1-0)*0.6094;

colorArray[12] = (1-0)*0.0820+0;

colorArray[18] = 1;

image.filters = [new ColorMatrixFilter(colorArray)];

2.亮度调节:

var brightness:Number;//取值范围0~5

colorArray[0] = brightness;

colorArray[6] = brightness;

colorArray[12] = brightness;

colorArray[18] = 1;

img.filters = [new ColorMatrixFilter(colorArray)];

3.饱和度调节:

var saturation:Number;//取值范围0~3

colorArray[0] = (1-saturation)*0.3086+saturation;

colorArray[1] = (1-saturation)*0.6094;

colorArray[2] = (1-saturation)*0.0820;

colorArray[5] = (1-saturation)*0.3086;

colorArray[6] = (1-saturation)*0.6094+saturation;

colorArray[7] = (1-saturation)*0.0820;

colorArray[10] = (1-saturation)*0.3086;

colorArray[11] = (1-saturation)*0.6094;

colorArray[12] = (1-saturation)*0.0820+saturation;

colorArray[18] = 1;

img.filters = [new ColorMatrixFilter(colorArray)];

4.对比度调节:

var contrast:Number;//取值范围0~1

var a:Number = contrast*11;

var b:Number = 63.5-(contrast*698.5);

colorArray[0] = a;

colorArray[4] = b;

colorArray[6] = a;

colorArray[9] = b;

colorArray[12] = a;

colorArray[14] = b;

colorArray[18] = 1;

img.filters = [new ColorMatrixFilter(colorArray)];

5.水平翻转:

var planeBitmapData:BitmapData = new BitmapData( img.width, img.height );

var planeMatrix : Matrix = new Matrix(-1, 0, 0, 1, img.contentWidth, 0 );

planeBitmapData.draw( img, planeMatrix );

var planeBitmap:Bitmap = new Bitmap(planeBitmapData);

img.source = planeBitmap;

6.垂直翻转:

var apeakBitmapData:BitmapData = new BitmapData( img.width, img.height );

var apeakMatrix : Matrix = new Matrix(1, 0, 0, -1, 0, img.contentHeight );

var apeakBitmap:Bitmap = new Bitmap(apeakBitmapData);

apeakBitmapData.draw( img, apeakMatrix );

img.source = apeakBitmap;

7.浮雕效果:

img.filters = [new ConvolutionFilter(3,3,[-10,-1,0,-1,1,1,0,1,10])];

继续阅读