Izmajmunisao sam..
Code:
package probni;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ImageProccesor {
public static int[][] getPixels(File file) throws IOException {
BufferedImage img = ImageIO.read(file);
int w = img.getWidth(null);
int h = img.getHeight(null);
int[][] pixels = new int[w][h];
for (int i = 0; i < w; i++) {
for (int j = 0; j < h; j++) {
pixels[i][j] = img.getRGB(i, j);
}
}
return pixels;
}
public static void saveImage(int[][] pixels, File file) throws IOException {
int w = pixels.length;
int h = pixels[0].length;
BufferedImage sl = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
for (int i = 0; i < w; i++) {
for (int j = 0; j < h; j++) {
sl.setRGB(i, j, pixels[i][j]);
}
}
String formatName = file.getName().substring(file.getName().lastIndexOf(".") + 1);
ImageIO.write(sl,formatName, file);
}
public static void changeSomething(int[][] pikseli) {
for (int i = 300; i <600 ; i++) {
for (int j = 0; j < 100; j++) {
pikseli[i][j] = 0xFF00FF00; // green
}
}
}
public static void main(String[] args) {
int[][] pikseli = null;
try {
pikseli = getPixels(new File("C:\\vugla.jpg"));
changeSomething(pikseli);
saveImage(pikseli, new File("C:\\vuglaModifikovana.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
Radi sa jpg, png i bmp, ali za gif dobijam novi fajl od 0 bajtova?!
[Ovu poruku je menjao Vanja Petreski dana 15.06.2007. u 01:56 GMT+1]