1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| private int param1, param2, sewidth ;
private int width, height ;
public void process(BufferedImage image, BufferedImage result) // Traitements de mon image en fonction des paramètres récupérés.
{
int param1 = this.param1;
int param2 = this.param2;
int sewidth = this.sewidth;
int width = this.width;
int height = this.height ;
int[] inbufferin = image.getDataBufferInt() ; // Version simplifiée...
int[] inbufferout = result.getDataBufferInt() ; // Version simplifiée...
int y, pos ;
for (y=pos=0 ; y < height ; y++, pos+=width) // Me permet de parcourir mon image ligne par ligne
{
System.arraycopy(intbufferin, pos, intbufferout, pos, width) ;
int limit = sewidth < param2? -sewidth : -param2; // pas sur que ça aide, mais simplifions le test de boucle
for (s=-1, p=pos-param1 ; limit <= s ; s--, p-=param1)
ArrayOperations.Maximum(intbufferin, p, intbufferout, pos, intbufferout, pos, width) ;
}
} |
Partager