Hi
Ich würde gerne ein Image (Gif mit Transparenz) laden und es dann in 6° abschnitten drehen und jeweils ein neues Image-Objekt erstellen.
Wenn ich das Bild nicht drehe bleibt die Transparenz erhalten. Wenn es aber gedreht wurde ist die Transparenz weg.
Gibt es eine Möglichkeit die Transparenz nicht zu verlieren?
Hier mal ein Ausschnitt aus dem Code:
Und so sieht es dann aus Überlappende Bilder
Gruss
jeipack
Ich würde gerne ein Image (Gif mit Transparenz) laden und es dann in 6° abschnitten drehen und jeweils ein neues Image-Objekt erstellen.
Wenn ich das Bild nicht drehe bleibt die Transparenz erhalten. Wenn es aber gedreht wurde ist die Transparenz weg.
Gibt es eine Möglichkeit die Transparenz nicht zu verlieren?
Hier mal ein Ausschnitt aus dem Code:
Java:
BufferedImage sourceImage = ImageIO.read(url);
GraphicsConfiguration gc = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration();
Image image = gc.createCompatibleImage(sourceImage.getWidth(),sourceImage.getHeight(),Transparency.BITMASK);
// so habe ich die Transparenz
image.getGraphics().drawImage(sourceImage,0,0,null);
//so nicht (siehe Funktion zum drehen)
image.getGraphics().drawImage(rotateImage(sourceImage, 6),0,0,null);
private static BufferedImage rotateImage(BufferedImage src, double degrees) {
AffineTransform affineTransform = AffineTransform.getRotateInstance(
Math.toRadians(degrees),
src.getWidth() / 2,
src.getHeight() / 2);
BufferedImage rotatedImage = new BufferedImage(src.getWidth(), src.getHeight(), src.getType());
Graphics2D g = (Graphics2D) rotatedImage.getGraphics();
g.setTransform(affineTransform);
g.drawImage(src, 0, 0, null);
return rotatedImage;
}
Und so sieht es dann aus Überlappende Bilder
Gruss
jeipack