Buffered Image teilweise zeichnen

Status
Nicht offen für weitere Antworten.

Liathne

Mitglied
Guten Morgen zusammen,

ich habe gerade folgendes Problem:

Ich möchte aus einem großem Bild viele kleine Bilder erzeugen. Jedes kleine Bild hat eine festgelegte Größe von 256 x 256 Pixel. Nun ist es an den Rändern des großen Bildes so, dass nicht jedes kleine Bild vollständig ausgefüllt wird. Momentan fehlt mir jedoch der Ansatz dies zu realisieren.

Versucht habe ich es mit:
Code:
BufferedImage temp = new BufferedImage(256,256,BufferedImage.TYPE_INT_ARGB);
temp = bufferedOriginImage.getSubimage(0,0,(int) cutlaenge,(int) cuthoehe);
Hiermit bekomme ich ein Teilbild welches kleiner als 256x256 Pixel ist. Dieses soll nun in ein 256x256 großes Bild gezeichnet werden und der Rest Transparenz erhalten.

Ich hoffe mein Problem ist einigermaßen verständlich.

Freundliche Grüße
 
Neuer Versuch:

Ich habe ein leeres 256x256 Pixel großes Bild und möchte z.B. in die linke obere Ecke des Bildes ein 100x100 Pixel großes Bild einfügen, der Rest des Bildes soll transparent sein, aber die Ausgangsgröße von 256x256 Pixel beibehalten werden.

Besser?
 
Ja. Das 256*256 Große Bild muss ein BufferedImage mit Alpha-Kanal sein. Zuerst zeichnest du auf das Bild ein transparentes Rechteck, und darüber dann an deiner gewünschten Stelle dein Bild.
 
Mit

Code:
BufferedImage temp = new BufferedImage(256,256,BufferedImage.TYPE_INT_ARGB);

erzeuge ich ja das BufferedImage in der gewünschten Größe inkl. Alphakanal, aber wie kann ich an bestimmten Stellen dann etwas in das BufferedImage einzeichnen?
 
Code:
Graphics2D g = temp.createGraphics();

und dann auf g zeichnen.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben