Como poderia criar um objeto Image a partir dos pixels extraídos de outra imagem?
Explicando melhor:
// Essa é a imagem inicial carregada a partir de um arquivo
Image im = new ImageIcon("Imagem.jpg").getImage();
/* Esse método retorna um vetor de inteiros que contém os valores dos pixels da imagem inicial que estão dentro do retângulo (0, 0, 50, 50) */
public int[] extractPixelValues(Image image) {
int pixels[] = new int[50 * 50];
PixelGrabber grabber = new PixelGrabber(image, 0, 0, 50/*width*/,
50 /*height*/, pixels, 0, 50);
cm = grabber.getColorModel();
try {
boolean result = grabber.grabPixels(); //bug in PixelGrabber?
if (!result) {
System.err.println("Could not grab pixels from image before quantum"+
" expired.");
return pixels;
}
}
catch (InterruptedException e) {System.err.println("Grab interrupted.");}
//each pixel value is of the form alpha, red, green, blue, so we must
//keep only the last 8 bits to make it fall between 0 and 255.
for (int k = 0; k < pixels.length; k++) pixels[k] &= 255;
cm = grabber.getColorModel();
return pixels;
}
//
Uma vez que tenha os pixels desejados armazenados em um vetor de inteiros, desejo criar uma nova imagem a partir desses pixels.
Alguém poderia dar uma ajuda?