SaKSoo Δημοσ. 31 Μαΐου 2011 Δημοσ. 31 Μαΐου 2011 Καλησπέρα θέλω τα φώτα σας για ένα θέμα στη 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 Ιουνίου 2011 Δημοσ. 1 Ιουνίου 2011 Ο κώδικας δεν είναι λάθος. Δοκίμασε να αλλάξεις το ύψος της κλίμακας, το έχεις -1 > img=img.getScaledInstance(500,[b]-1[/b],Image.SCALE_AREA_AVERAGING);
SaKSoo Δημοσ. 1 Ιουνίου 2011 Μέλος Δημοσ. 1 Ιουνίου 2011 Ο κώδικας δεν είναι λάθος. Δοκίμασε να αλλάξεις το ύψος της κλίμακας, το έχεις -1 > img=img.getScaledInstance(500,[b]-1[/b],Image.SCALE_AREA_AVERAGING); Με δοκιμές στο ύψος της κλίμακας δεν παρατηρήτε καμία διαφορά.Είναι σαν να μην εκτελείται η εντολή αυτή: img=img.getScaledInstance(500,-1,Image.SCALE_AREA_AVERAGING);
Γηρυόνης Δημοσ. 1 Ιουνίου 2011 Δημοσ. 1 Ιουνίου 2011 Περίεργο. Η 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(); } και δες αν σου βγάζει κάτι.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.