Mit liegen etwas mehr als 200 Bilder im *.png Format mit gleicher Auflösung vor welche an der rechten und unteren Seite noch überall gleiche schwarze Ränder haben. Das eigentliche Bild hat also überall die gleiche Größe.
Diese schwarzen Ränder wollte ich nun mithilfe von getSubimage() entfernen - was auch einwandfrei geklappt hat. Was mich jetzt nur wundert, ist der Punkt dass eben diese subimages noch mehr Speicherplatz benötigen als das Original mit den Rändern...
Original: 192 Bilder / 83,6 MB
Subimages: 192 Bilder / 128MB
Kann ich das noch irgendwo beeinflussen?
Ich habe nämlich keine Lust die Bilder alle von Hand auszuschneiden, dann würden sie nämlich kleiner^^
Diese schwarzen Ränder wollte ich nun mithilfe von getSubimage() entfernen - was auch einwandfrei geklappt hat. Was mich jetzt nur wundert, ist der Punkt dass eben diese subimages noch mehr Speicherplatz benötigen als das Original mit den Rändern...
Original: 192 Bilder / 83,6 MB
Subimages: 192 Bilder / 128MB
Kann ich das noch irgendwo beeinflussen?
Ich habe nämlich keine Lust die Bilder alle von Hand auszuschneiden, dann würden sie nämlich kleiner^^
Java:
private void cutImage(String fileBase) {
fileBase += ".png";
File subImage = new File("troops\\"+fileBase);
if(!subImage.exists()) {
try {
File imageFile = new File("Troops\\Cards\\"+fileBase);
if(imageFile.exists()) {
BufferedImage altesBild = ImageIO.read(imageFile);
// Bild ausschneiden
BufferedImage neuesBild = altesBild.getSubimage(0, 0, 459, 674);
// Bild speichern
ImageIO.write(neuesBild, "png", subImage);
System.out.println("Bild "+fileBase+" erstellt!");
} else {
System.out.println("FEHLER: Bild "+fileBase+" nicht erstellt");
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
}
} else {
System.out.println("Bild \""+cardImage+"\" bereits vorhanden");
}
}