Bessere Methode als diese um Bereich eines Bildes zu laden?

Kai008

Erfahrenes Mitglied
Ich habe mir eine kleine Methode geschrieben. Soll von einer Bilddatei nur einen bestimmten Bereich laden. Dazu erstellt sie einfach ein neues BufferedImage, und zeichnet das alte so darüber, dass der gewünschte Bereich über dem erstellten Bild ist.
Eigendlich soweit ich sehe alles tadellos, aber sie gefällt mir noch nicht so ganz. Ich bin sicher, dass es noch bessere Möglichkeiten gibt, wo z. B. nicht das komplette Bild geladen werden muss. Kann mir wer bitte eine bessere Version schreiben, oder Tipps geben?

Java:
private BufferedImage loadPartImage(String s, int startX, int startY, int width, int height)
{
	BufferedImage newImage = new BufferedImage(width - startX, height - startY, BufferedImage.TYPE_INT_ARGB);
	BufferedImage loadetImage = null;
	
	try
	{
		File file = new File(s);
		
		if(!file.exists())
		{
			JOptionPane.showMessageDialog(null,
					"Eine benötigte Datei wurde nicht gefunden.\nDas Programm wird nun beendet",
					"Critical Error",
					JOptionPane.ERROR_MESSAGE);
			System.exit(0);
		}			
		loadetImage = ImageIO.read(file);
	}
	catch(Exception e)
	{
		e.printStackTrace();
	}
	Graphics g = newImage.getGraphics();
	g.drawImage(loadetImage, 0 - startX, 0 - startY, null);
	g.dispose();
	return(newImage);
}
private BufferedImage loadPartImage(BufferedImage image, int startX, int startY, int width, int height)
{
	BufferedImage newImage = new BufferedImage(width - startX, height - startY, BufferedImage.TYPE_INT_ARGB);

	Graphics g = newImage.getGraphics();
	g.drawImage(image, 0 - startX, 0 - startY, null);
	g.dispose();
	
	return(newImage);
}
 
Zurück