Frage

Ich habe ein int array Graustufenwerte von 0 bis 254 enthält, i haben auch die X und Y-Größe des Bildes. Es ist eine einfache Sache, ein pgm Bild zu schaffen, aber ich will es in einer jsp angezeigt werden, so muß ich es irgendwie zu einem JPEG oder PNG-Bild konvertieren. Wenn Sie Jai vorschlagen, als sagen Sie mir bitte an, welche Klassen zu suchen, oder wie man tatsächlich tun es in Jai. Vielen Dank im Voraus.

War es hilfreich?

Lösung

Vielleicht die PGM ganz überspringen?

int[] myImage = getGreyscaleIntArray();

BufferedImage im = new BufferedImage(width,height,BufferedImage.TYPE_BYTE_GRAY);
WritableRaster raster = im.getRaster();
for(int h=0;h<height;h++)
{
    for(int w=0;w<width;w++)
    {
        raster.setSample(w,h,0, myImage[h * width + w]); 
    }
}

ByteArrayOutputStream myJpg = new ByteArrayOutputStream();
javax.imageio.ImageIO.write(im, "jpg", myJpg);

verwendet das JAI ImageIO api , insbesondere die ImageIO Utility-Klasse

WriteableRaster Probe von dem Java-Bild Verarbeitung Kochbuch

Andere Tipps

ImageMagick funktioniert gut für Bilder und JMagick eine Schnittstelle von Java-Programme direkt aufrufen bereitstellt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top