天天看點

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])];

繼續閱讀