Προς το περιεχόμενο

μορφοποίηση εικόνας σε swing(java)


SaKSoo

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα θέλω τα φώτα σας για ένα θέμα στη java, μορφοποίηση εικόνας.Ο κώδικάς μου είναι:

 

 

class ImagePanel extends JPanel {

 

private Image img;

 

public ImagePanel(Image img) {

 

this.img=img;

 

 

 

Dimension size = new Dimension(500,500);

setPreferredSize(size);

setMinimumSize(size);

setMaximumSize(size);

setSize(size);

setLayout(null);

 

img=img.getScaledInstance(500,-1,Image.SCALE_AREA_AVERAGING);

 

 

}

 

public void paintComponent(Graphics g) {

 

 

g.drawImage(img, 0, 0, null);

 

}

 

Μου εμφανίζει την εικόνα αλλά όχι με τις διαστάσεις που θέλω.Μήπως παρατηρείτε κάποιο λάθος;

Ευχαριστώ εκ των προτέρων.

Δημοσ.

Ο κώδικας δεν είναι λάθος. Δοκίμασε να αλλάξεις το ύψος της κλίμακας, το έχεις -1

 

>
img=img.getScaledInstance(500,[b]-1[/b],Image.SCALE_AREA_AVERAGING);

 

Με δοκιμές στο ύψος της κλίμακας δεν παρατηρήτε καμία διαφορά.Είναι σαν να μην εκτελείται η εντολή

αυτή:

img=img.getScaledInstance(500,-1,Image.SCALE_AREA_AVERAGING);

Δημοσ.

Περίεργο. Η getScaledImage κλιμακώνει την εικόνα, ενώ το Dimension που έχεις πιο πάνω δείχνει μια συγκεκριμένη διάσταση της εικόνας. Αν παίξεις με τους αριθμούς κανονικά θα πρέπει να δεις διαφορά. Αν είσαι σίγουρος ότι δεν εκτελείται η εντολή

 

>
img=img.getScaledInstance(500,-1,Image.SCALE_AREA_AVERAGING); 

 

δοκίμασε να βάλεις ένα try... catch γύρω της.

 

>
try {
   img=img.getScaledInstance(500,-1,Image.SCALE_AREA_AVERAGING); 
} catch (Exception e) {
   e.printStackTrace();
}

 

και δες αν σου βγάζει κάτι.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...