/* |
这一例程中将处理像素数组打包成一个类方法 |
Author:S.Sio |
*/ |
public static int pixel[]; //空可变像素数组,需先将图像装载 |
public static int width,height; //宽和高的声明,也是Seg和Com |
/* |
在其他类调用这个单例类方法时传入一个像素以及宽和高的设定 |
在一维数组中构造一个二维的概念 |
*/ |
public static void addPixels( int [] addPixel, int width, int height){ |
for ( int i= 0 ;i<addPixel.length;i++){ |
this .pixel[i] = addPixel[i]; |
} //end for |
this .width = width; |
this .height = height; |
} //end addPixels |
/* |
将数组的真值返回 |
*/ |
public static long countPixels( int [] pixelArray){ |
return pixelArray.length* 8 ; |
} //end countPixels |
/* |
传入一个x,y坐标系返回x,y所在的HEX字段 |
*/ |
public static int cordinatorInHex( int x, int y){ |
int index = 0 ; |
index=x+((y- 1 )*width); |
index/= 8 ; |
if (!index< 1 )index-= 1 ; |
return pixel[index]; |
} //end corDinatorInHex |
/* |
传入一个x,y坐标系返回x,y所在的HEX字段的第几位并把bool返回 |
*/ |
public static int cordinatorInPixel( int x, int y){ |
int index = 0 ; |
int |
int temp = 0x00 ; |
index=x+((y- 1 )*width); |
index/= 8 ; |
if (!index< 1 )index-= 1 ; |
temp=pixel[index]; |
swith(x%= 8 ){ |
case 1 : if ( 0x01 &&temp){ |
return 1 ; |
} else { |
return 0 ; |
} |
case 2 : if ( 0x02 &&temp){ |
} else { |
} |
} //end switch |
|
} //end checkCordinator |
public static int cordinatorInArray( int x, int y){ |
int index = 0 ; |
index=x+((y- 1 )*width); |
index/= 8 ; |
if (!index< 1 )index-= 1 ; |
return index; |
} //end cordinatorInArray |
/* |
替换数组 |
*/ |
public static void replaceArray( int xC, int yC, int width, int height, int [] newImg){ |
for ( int y= 0 ;y<height;y++){ |
for ( int x= 0 ;x<width;x++){ |
pixel[cordinatorInArray(xC,yC)]=newImg[cordinatorInArray(x,y)]; |
} |
} |
} //end replaceArray |