Arne: Perspektivische Transformation mit JAI

Hallo,

kennt sich evtl. einer mit der JAI Bibliothek von Sun aus?

Ich programmiere eine Funktion welche kurz gesagt die perspektivische Verzerrung einer Grafik vornimmt und das Resultat in einer anderen Grafik darstellt.
     ______             ___________
Also |     |   soll in  |         |
     |     |            |         |
     -------            |         |
                        |---------|
_______________
|  ________   |
|  \      /   |
|   \    /    |
|    ----     |
---------------

dargestellt werden.

Dies Funktioniert sowei auch ganz gut, bis auf das JAI eine RGB Grafik erstellt, in der die Source Grafik verzerrt wird, die keine Transparenzen speichern kann. Die durch die Transformation entstehenden Ecken werden also Schwarz. Die eigentliche Frage lautet also: Wie erstelle ich mit der JAI.create() Methode eine ARGB Grafik?

Der Code den ich zurzeit verwende ist folgender:

Image srcGraphic = Toolkit.getDefaultToolkit().getImage("C:/test/persp.png");

MediaTracker mt = new MediaTracker(this);

mt.addImage(srcGraphic, 0);

try {
   mt.waitForID(0);
} catch (InterruptedException ex) {
   ex.printStackTrace();
}
BufferedImage bi = new BufferedImage(400, 400, BufferedImage.TYPE_INT_ARGB);

Graphics g = bi.getGraphics();

g.drawImage(this.panel.getCurImage(), 0, 0, this);

PerspectiveTransform trans = PerspectiveTransform.getQuadToQuad(
                                          10, 10, 200, 0, 0, 190, 200, 200,
                                          0,  0, 200, 0, 0, 200, 200, 200);

RenderedOp rp = JAI.create("AWTImage", srcGraphic);
int[] band = new int[] {8, 8, 8, 8};

WarpPerspective wp = new WarpPerspective(trans);

ParameterBlock pb = new ParameterBlock();
//pb.addSource(imgAnlage);
pb.add(wp);
pb.add(new InterpolationNearest());
pb.setSource((Object) JAI.create("AWTImage", srcGraphic), 0);

RenderedImage destImage = JAI.create("warp", pb);

((Graphics2D)g).drawRenderedImage(destImage, new AffineTransform());

this.panel.setCurImage(bi);

Eine weitere Frage gibt es auch zu der Methode getQuadToQuad(...) des JAI Pakets. Wieso werden als _erstes_ die Zielkoordinaten und als _zweites_ die Quellkoordinaten übergeben. (Die ja bei mir die Außenecken der Grafik sind) übergeben. Ist die Nutzung dieser Methode so korrekt?

Vielen Dank für Eure Tipps.

Arne