Breite u. Höhe eines Bildes bestimmen

flou

Mitglied
Hallo,

ich schreibe an einem FTP-Programm, mit dem ich Bilder hoch lade.
Es sollen aber nur Bilder hochladbar sein die grösser gleich dem A4-Format mit 300dpi.
Also habe ich eine Methode geschrieben die dieses prüft. Sieht so aus:
PHP:
public boolean checkPictureSize(String path){
        int minx = 2480;
        int miny = 3508;
        
        Image image = Toolkit.getDefaultToolkit().getImage(path);
        MediaTracker mediaTracker = new MediaTracker(new Container());
        mediaTracker.addImage(image, 0);
        try {
            mediaTracker.waitForID(0);
        } catch (Exception e){
            System.out.println(e);
        }
        int imageWidth = image.getWidth(this);
        int imageHeight = image.getHeight(this);
        double imageratio = (double) imageHeight / (double) imageWidth;
        if(imageratio > 1){
            //Hochformat
            if(imageHeight >= miny && imageWidth >= minx){
                return true;
            }
        } else {
            //Querformat
            if(imageWidth >= miny && imageHeight >= minx){
                return true;
            }
        }
        
        return false;
    }

Diese Methode funktioniert auch, denke ich, nur is mein Problem jetzt folgendes:
Bilder die gösser gleich A4 sind, sind ja ziemlich grosse Dateien. Wenn ich jetz die
die Höhe und Breite des Bildes abfragen will, muss ich erst diese grosse Bilddatei einlesen um mit den Methoden image.getWidth() u. image.getHeight() richtige Werte zu bekommen. Das dauert mir aber zu lange, weil die Grösse nicht nur für ein Bild geprüft wird, sondern meist für nen ganzen Ordner von A4 Bilder

Ist es irgendwie möglich, die Breite und Höhe des Bildes herauszufinden, ohne dass man das Bild einlesen muss?
Oder hat irgendjemand eine andere Lösung für das Problem?
Würd mich freun!

Gruss

flou
 
Hallo,

die meisten Dateien haben einen Infoheader am Anfang der Datei stehen, es müsste eigentlich ausreichen wenn du diesen ausliest.

Grüße
R.
 
ja gut...kann man davon ausgehen, dass der Header die Infos enthält oder nicht?
Und wie lese ich die Header-Informationen eines JPGs aus?
 
Zurück