manic Δημοσ. 11 Μαΐου 2011 Δημοσ. 11 Μαΐου 2011 εχω σε ενα JLabel μια εικονα θελω να το σμικρυνω και το μεγενθυνω. Στο προγραμμα μου εχω βαλει την εξης εντολη >myLabel.setPreferredSize(new Dimension(height,width));; (οπου το height,width ειναι 2 integer) αλλα το μονο που κανει ειναι να "κοβει" τα γυρο γυρο της εικονας, εγω θελω ολη την εικονα απλα μικροτερη και μεγαλυτερη!
vicky5 Δημοσ. 12 Μαΐου 2011 Δημοσ. 12 Μαΐου 2011 λοιπον εγω το ειχα κανει ετσι ImageIcon ii = new ImageIcon(εικονα); jLabel4.setIcon(ii); jLabel4.repaint(); οπου η εικονα μου ηταν σε byte<> αλλα δεχεται και Image αντικειμενο απο οτι θυμαμαι... το εκανε αυτοματα μονο του και δεν ελενχε ουτε υψος ουτε τιποτα
manic Δημοσ. 12 Μαΐου 2011 Μέλος Δημοσ. 12 Μαΐου 2011 το θεμα ειναι οτι εγω θελω να το κανω μονος μου το resize δλδ με τα 2 height,width να οριζω ποιες θα ειναι οι διαστασεις της καινουργιας εικονας!
vicky5 Δημοσ. 13 Μαΐου 2011 Δημοσ. 13 Μαΐου 2011 δηλαδη για να καταλαβω..το μεγεθος θελεις να το βαζει ο χρηστης? γιατι αυτος ο τροπος δουλευε σε μη στατικη εικονα..δηλαδη ηταν ενα φωτογραφικο album καθε στιγμη διαλεγε μια εικοαν ο χρηστης απο τον υπολογιστη.εγω εφτιαχνα ενα καινουργιο αντικειμενο Imageicon και ειχε λυθει ολο το προβλημα..
javavall Δημοσ. 13 Μαΐου 2011 Δημοσ. 13 Μαΐου 2011 Κάτι τέτοιο? > //Resizing method public ImageIcon resizeImage( int newW, int newH) { BufferedImage img = null; try { img = ImageIO.read(new File("ceidcat.jpg")); } catch (IOException e) {} int w = img.getWidth(); int h = img.getHeight(); BufferedImage dimg = new BufferedImage(newW, newH, img.getType()); Graphics2D g = dimg.createGraphics(); g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); g.drawImage(img, 0, 0, newW, newH, 0, 0, w, h, null); g.dispose(); ImageIcon ic = new ImageIcon(dimg); return ic; }
manic Δημοσ. 14 Μαΐου 2011 Μέλος Δημοσ. 14 Μαΐου 2011 @ vicky5 εχω μια εικονα μεσα μεσα στο pc μου και θελω ενα οταν ο χρηστης δινει το μεγεθος της με ενα κουμπι που θα παταει να την κανει resize αυτοματα, η εικονα προβαλεται σε ενα flowlayout που εχω φτιαξει. την εβαλα imageicon γιατι δεν εχω μεγαλη γνωση πανω στο αντικειμενο και μονο με αυτην την μεθοδο εχω ξαναδουλεψει! @ javavall εβαλα τον κωδικα αυτον σε μια κλαση και την καλω αλλα μου χτυπαει ο compiler >resizeImage icon = new resizeImage(height,width); myLabel = new JLabel(icon);// Label που βαζω την εικονα img.add(myLabel );// το img ειναι ενα JPanel con.add(img);//το κανω add στον container ο μηνυμα σφαλματος ειναι cannot find symbol - contractor JLabel(resizeImage)
javavall Δημοσ. 14 Μαΐου 2011 Δημοσ. 14 Μαΐου 2011 Σου έχει ξεφύγει κάτι μάλλον. Χρησιμοποίησε το παρακάτω για να κάνεις resize την εικόνα και να την βάλεις στο label(Όπως πρότεινε και ο vicky5 σε ένα σημείο.) > imageLabel.setIcon(resizeImage(w,h)); και πρόσεχε που κάνεις τις δηλώσεις.
manic Δημοσ. 14 Μαΐου 2011 Μέλος Δημοσ. 14 Μαΐου 2011 Σας ευχαριστω ολους πολυ και ειδικερα τον javavall!!! εγινε ακριβως οπως το ηθελα!!!!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.