
/* |
这一例程中将处理像素数组打包成一个类方法 |
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 |



