antes de que hagas frente nuevo (o pruebas), el algoritmo utilizado es "lo mismo" que se utilizaría en VBA: dos bucles anidados
- el primero recorre los pixeles del ancho (w)
- el segundo recorre los pixeles del alto (h) [puede ser a la inversa]
- dentro del segundo bucle:
-
- se obtienen los colores del pixel
-
-
- se estampan en el archivo "ciclo-por-ciclo", o sea, un millón de líneas (si imagen=1e6 pixeles)
código para java:
public class PixelesDeImagen {
public static void main(String[] args) throws Exception {
BufferedImage imgBuffer = ImageIO.read(new File(args[0]));
int w = imgBuffer.getWidth();
int h = imgBuffer.getHeight();
FileWriter fw = new FileWriter(args[1]);
BufferedWriter bw = new BufferedWriter(fw);
string sL = args[2];
int color;
bw.write("random" + sL + "ancho" + sL + "alto" + sL + "R" + sL + "G" + sL + "B" + "\n");
for (int i = 0; i < w; i++) {
for (int j = 0; j < h; j++) {
color = imgBuffer.getRGB(i, j);
double random = ThreadLocalRandom.current().nextDouble(0, 1);
int rojo = (color >> 16) & 0xff;
int verde = (color >> 8) & 0xff;
int azul = (color) & 0xff;
bw.write(random + sL + i + sL + j + sL + rojo + sL + verde + sL + azul + "\n");
}
}
bw.close();
}
}
saludos,
hector.