Ausschnitte aus Bildern laden?

Ich bins wieder^^, würde mich interessieren wie man bestimmte Teilbereiche eines Bildes laden kann? Nun würden mir an sich zwei Möglichkeiten einfallen:
1. Direkt aus der Bilddatei laden
2. Den Ausschnitt aus der bereits gesamten geladenen Bilddatei "herausnehmen"

Ich weiss aber nicht, welches von beiden überhaupt möglich ist und welches performanter ist.

Da Performance für mich ein sehr wichtiger Punkt ist würde es mich interessieren wie es möglich ist. Am besten wäre ja wenn man mich auf ein aktuelles Tutorial zur Bildverarbeitung verweisen könnte.
 
Zuletzt bearbeitet:
ein Beispiel zu 2

Java:
public class PictureArea {
    
    public PictureArea() {
        try {
            java.awt.image.BufferedImage picture1=null;            
             
            try{
                picture1=javax.imageio.ImageIO.read(new java.io.File("unbenannt.bmp"));                
            }catch(Exception e){}   
                    
            java.awt.Point position = new java.awt.Point(0,0);               
            int areaWidth           = 50;
            int areaHeight          = 50;            
            
            java.awt.image.BufferedImage picture2=new java.awt.image.BufferedImage(areaWidth,areaHeight,1);                        
            
            for (int x = (int)position.getX(); x < (int)position.getX()+areaWidth; x++) {                
                for (int y = (int)position.getY(); y < (int)position.getY()+areaHeight; y++) {                    
                    java.awt.Color p1=new java.awt.Color(picture1.getRGB(x,y));                            
                    picture2.setRGB(x-(int)position.getX(),y-(int)position.getY(),new java.awt.Color(picture1.getRGB(x,y)).getRGB());                        
                }  
            }
            
            java.io.File area = new java.io.File("C:/area.bmp");
            try{javax.imageio.ImageIO.write(picture2,"bmp",area);}catch(Exception e){}
        } catch (Exception e) {
            e.printStackTrace();
        }                
    }
    
    public static void main(String[] args) {
        new PictureArea();
    }    
}
 
Zurück