# PGM-Image einlesen, bearbeiten und wieder ausgeben



## Rivergirl (17. November 2004)

Hallöle.

Ich versuche für ein Proseminar eine PGM-Datei mit Java einzulesen und diese erst mal nur wieder in einem Fenster auszugeben.

Habe folgendes schon probiert, läuft aber leider nicht, da u.a. irgendeine Import.Datei fehlt):

import java.awt.*;
import java.awt.event.*;
import javax.imageio.*; 
import java.io.*;
import java.util.*;

public class Viewer extends Frame { 
private Image image;
public Viewer(String fileName) { 
BufferedImage scrImage = new BufferedImage();
Graphics2D scrGraphic;
Rectangle bounds = getBounds();
int thumbHeight = bounds.height;
int thumbWidth = bounds.width;
double thumbRatio = (double) thumbWidth / (double) thumbHeight;

Image image = Toolkit.getDefaultToolkit().getImage(fileName);

int imageWidth = image.getWidth(null);
int imageHeight = image.getHeight(null);

double imageRatio = (double) imageWidth / (double) imageHeight;

if (thumbRatio < imageRatio) {
thumbHeight = (int) (thumbWidth / imageRatio);
}
else {
thumbWidth = (int) (thumbHeight * imageRatio);
}
scrImage = new BufferedImage(thumbWidth, thumbHeight,
BufferedImage.TYPE_INT_RGB);

scrGraphic = scrImage.createGraphics();
scrGraphic.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BILINEAR);

//scrGraphic.setBackground(Color.BLACK);
scrGraphic.drawImage(image, 0, 0, thumbWidth, thumbHeight, null);

ImageIO.write(scrImage, "jpeg", new File(dateiname));
}

Wie lese ich eine pgm-Datei überhaupt ein? Die Standard-Reader können doch nur bmp, jpeg und gif, oder?
Habe auch Probleme damit das Bild aus einem bestimmten Pfad einzulesen. Wo kommt die Pfadangabe hin?
Wäre toll, wenn ihrmit helfen könntet.

Gruß Sarah


----------



## Oliver Gringel (17. November 2004)

Was ist denn PGM für ein Format? Das sagt mir absolut nichts...


----------



## Bernd1984 (17. November 2004)

Portable Gray Map Image (*.pgm)

             Schau mal hier:

http://www.geocities.com/marcoschmidt.geo/java-image-coding.html

          :edit
           Eine .pgm-Datei ist eine unkomprimierte Graustufendatei und hat folgenden Aufbau:




> P2
> # Kommentar
> 300 200
> 255
> ...


            Zeile 1: Kennzeichen für eine pgm-Datei
            Zeile 2: Kommentar-Zeile
            Zeile 3: Breite und Höhe
            Zeile 4: Maximale Farbenanzahl (Graustufen)
            Ab Zeile 5: Daten


----------

