Bilder bearbeiten in Java

Hi,

mit was kann man Bilder bearbeiten, das auch noch gut dokumentiert ist?
Ich will die Bilder erst erzeugen und dann speichern bzw. zurückgeben können.
Mein Ziel ist es die Bilder dynamisch aus Daten einer DB zu erzeugen und sie über JSP bzw. Servlets im Browser des Users anzuzeigen.
Cewolf hat da leider nur eingeschränkte Funktionalitäten, was Diagramme angehtund die Doku von jFree kostet was.
Also möcht ich die Dinger von Hand programmieren.
Wär für jede Hilfe dankbar.

cu Desian

mit was kann man Bilder bearbeiten, das auch noch gut
dokumentiert ist?
Ich will die Bilder erst erzeugen und dann speichern bzw.
zurückgeben können.
Mein Ziel ist es die Bilder dynamisch aus Daten einer DB zu
erzeugen und sie über JSP bzw. Servlets im Browser des Users
anzuzeigen.
Cewolf hat da leider nur eingeschränkte Funktionalitäten, was
Diagramme angehtund die Doku von jFree kostet was.
Also möcht ich die Dinger von Hand programmieren.
Wär für jede Hilfe dankbar.

Für I/O aller gängigen Bildformate gibt es die JIMI-Bibliothek, die Du irgendwo auf http://java.sun.com herunterladen kannst. Mit dem SDK kann man dann auch ein Image bzw. BufferedImage erstellen und drin rum malen. Ob das aber für Deine Zwecke hilfreich bzw. ausreichend ist, weiß ich nicht.

Bis denne!
Schnoof

Moin

mit was kann man Bilder bearbeiten, das auch noch gut
dokumentiert ist?

javax.imageio + java.awt.image + java.awt.Graphics2d

Wär für jede Hilfe dankbar.

Ich kann mir gerade nicht vorstellen was du brauchst, mach mal ein praktisches Beispiel.

cu

Hi,

mit was kann man Bilder bearbeiten, das auch noch gut
dokumentiert ist?

javax.imageio + java.awt.image + java.awt.Graphics2d

Wär für jede Hilfe dankbar.

Ich kann mir gerade nicht vorstellen was du brauchst, mach mal
ein praktisches Beispiel.

Ich hab mir mit Cewolf ein Diagramm aus eigenen Daten generiert. Nun hat das aber nicht die Funktionalität durchschnitiie und Varianzen in Wertegruppen darzustellen.
In dynamisch generierten HTML-Code konnte ich mir solche Dinger zusammenbasteln nur will ich das jetzt als GIF-Bild.
Eine Möglichkeit JPGs herzustellen hab ich inztwischen gefunden:
-= Code =-
/*
* GrafikTest.java
*/

import java.io.*;
import java.net.*;

import javax.servlet.*;
import javax.servlet.http.*;

import java.awt.*;
import java.awt.image.*;
import java.awt.color.*;
import java.awt.font.*;
import java.awt.geom.*;
import java.awt.print.*;
import com.sun.image.codec.jpeg.*;
import java.awt.image.renderable.*;

/**
* @author desian
* @version
*/
public class GrafikTest extends HttpServlet {

public void init(ServletConfig config) throws ServletException {
super.init(config);

}

public void destroy() {

}

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

BufferedImage img = createImageDynamically();
response.setContentType(„image/jpeg“);
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(response.getOutputStream());
encoder.encode(img);

}

protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}

public String getServletInfo() {
return „Short description“;
}

private BufferedImage createImageDynamically() {
BufferedImage img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
Graphics g = img.getGraphics();

g.setColor(Color.red);
g.fillRect(0,0,100,100);
g.setColor(Color.black);
g.fillRect(10,10,80,80);

return img;

}
}
-= Code end =-
Nur hab ich die endsprechende GIF-Klasse noch nicht gefunden.

cu Desian

Ich hab mir mit Cewolf ein Diagramm aus eigenen Daten
generiert. Nun hat das aber nicht die Funktionalität
durchschnitiie und Varianzen in Wertegruppen darzustellen.
In dynamisch generierten HTML-Code konnte ich mir solche
Dinger zusammenbasteln nur will ich das jetzt als GIF-Bild.
Eine Möglichkeit JPGs herzustellen hab ich inztwischen
gefunden:
Nur hab ich die endsprechende GIF-Klasse noch nicht gefunden.

http://java.sun.com/products/jimi
Damit kannst Du sicher viel mehr als notwendig machen, aber es sollte definitiv auch GIF können.

Bis denne!
Schnoof

Moin

Ich hab mir mit Cewolf ein Diagramm aus eigenen Daten generiert.
Nun hat das aber nicht die Funktionalität durchschnitiie und
Varianzen in Wertegruppen darzustellen.

Das hat weniger mit Bildern als mehr mit Statistik-Programmen zu tun, frag mal im Mathe-brett. Ich kenn kein standart-tool für die automatische Erzeugung.

In dynamisch generierten HTML-Code konnte ich mir solche Dinger
zusammenbasteln nur will ich das jetzt als GIF-Bild.

GIF ist so ein Problemfall:
Es gibt ein „Patent“ auf GIF so dass GIF-Erzeuger eigentlich eine Lizenz brauchen. Deshalb ist GIF bei java nicht so einfach zu finden, sun will die Lizenz nicht bezahlen. Aber evtl hilft das:

javax.imageio.spi.IIORegistry IIOReg = javax.imageio.spi.IIORegistry.getDefaultInstance();
IIOReg.registerApplicationClasspathSpis();

Danach die IIOReg (siehe javax.imageio.spi.ServiceRegistry) nach GIF-writern durchsuchen. Wenn man JAI (siehe sun-hp) installiert hat müsste einer dabei sein.

cu

Hi.

Hast du dein ganzes Teil mal auf deinem Produktion-Server getestet? Falls der nämlich noch unter Java 2 1.3 oä auf einem Unix-System läuft, hast du wahrscheinlich Probleme mit den meisten Java-Methoden zur Grafikerzeugung. Die laufen nämlich nur mit Workarounds auf Headless-Systemen.

mfG,

J.P.Jarolim