JAI jpg to ppm

GUI-Programmer

Top Contributor
Java:
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

public class JpgToPpmTest {
	public static void main(String[] args) {
		File fileInput = new File("C:/Users/Benutzername/Desktop/test.jpg");
		Image image = null;
		try {
			image = ImageIO.read(fileInput);
		} catch(IOException ex) {
			System.out.println("Fehler beim Bilderladen");
			System.err.println(ex);
			return;
		}
		
		if(image != null) {
			BufferedImage imgNew = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB);
			Graphics2D g2 = imgNew.createGraphics();
			g2.drawImage(image, 0, 0, null);
			g2.dispose();
			
			File fileOutput = new File("C:/Users/Benutzername/Desktop/test.ppm");
			try {
				fileOutput.createNewFile();
			} catch(IOException ex) {
				System.out.println("Datei test.ppm konnte nicht erstellt werden");
				System.err.println(ex);
				return;
			}
			try {
				ImageIO.write(imgNew, "ppm", fileOutput);
			}
			catch(IOException ex) {
				ex.printStackTrace();
				return;
			}
			System.out.println("ENDE");
		}
	}
}

[WR]Leider funktioniert diese Code nicht mit .ppm! (Zu .gif und .png schon!)[/WR]
 

bERt0r

Top Contributor
Von: Writing Image Files

Java:
     // Create the OutputStream.
     OutputStream out = new FileOutputStream(fileToWriteTo);

     // Create the ParameterBlock.
     PNMEncodeParam param = new PNMEncodeParam();
     param.setRaw(true.equals("raw"));

     //Create the PNM image encoder.
     ImageEncoder encoder = ImageCodec.createImageEncoder("PNM",
                                                           out,
                                                           param);
Lesen kannst du ein JPG wie oben mit ImageIO.
Ob du im FormatString PPM eingeben kannst oder PNM erforderlich ist musst du ausprobieren.
 
Zuletzt bearbeitet:

vimar

Bekanntes Mitglied
danke aber da ich es nicht besser wusste bis heut morgen, hab ich einfach nen externes programm aus (netpbm-10.27-bin) genommen und mit processbuilder und bat datei die file umgewandelt. allerdings sieht deine version enorm besser aus!
 

Neue Themen


Oben