Bild zuschneiden, um kleinste Größe durch entfernen der transparenten Pixel in java

Habe ich ein sprite-Blatt, das hat jedes Bild zentriert in einem 32x32-Zelle. Die tatsächlichen Bilder sind nicht 32x32, aber etwas kleiner. Was ich gerne tun möchte, ist nehmen Sie eine Zelle aus, und Ernte die transparenten Pixel, sodass das Bild ist so klein wie es nur sein kann.

Wie würde ich das in Java (JDK 6)?

Hier ist ein Beispiel, wie ich bin derzeit brechen der Fliese Blatt in Zellen:

BufferedImage tilesheet = ImageIO.read(getClass().getResourceAsStream("/sheet.png");
for (int i = 0; i < 15; i++) {
  Image img = tilesheet.getSubimage(i * 32, 0, 32, 32);
  //crop here..
}

Meine aktuelle Idee zu testen, wurde jedes pixel von der Mitte der Arbeit meinen Weg, um zu sehen, wenn es transparent ist, aber ich Frage mich, ob es wäre schneller/sauberer Weg, dies zu tun.

InformationsquelleAutor Ruggs | 2010-07-11
Schreibe einen Kommentar