le redimensionnement d'image en java getScaledInstance
voici mon code"
ImageIcon ii=new ImageIcon("/Users/tushar_chutani/Desktop/apple.jpg");
Image image= ii.getImage().getScaledInstance(50, 50, Image.SCALE_SMOOTH);
l'image n'est pas redimensionnée), quel est le problème avec le code?
Quelles erreurs avez-vous? Pouvez-vous afficher l'original ImageIcon? Comment savez-vous n'est pas à l'échelle. Basé sur les deux lignes de code que vous avez posté, vous n'avez rien faire d'autre que de l'image. Publier vos SSCCE qui montre le problème.
l'image ne s'affiche pas...l'image devient blanc...
Ensuite, il n'a probablement pas lire l'image. Vous n'avez pas de poster un SSCCE, donc il n'y a pas beaucoup de choses que nous pouvons faire pour vous.
ça fonctionne avec une autre image. Certains problèmes ont été signalés ici avec quelques jpeg en raison de leur modèle de couleur.
il ne fonctionne pas avec tous les autres fichiers, soit
l'image ne s'affiche pas...l'image devient blanc...
Ensuite, il n'a probablement pas lire l'image. Vous n'avez pas de poster un SSCCE, donc il n'y a pas beaucoup de choses que nous pouvons faire pour vous.
ça fonctionne avec une autre image. Certains problèmes ont été signalés ici avec quelques jpeg en raison de leur modèle de couleur.
il ne fonctionne pas avec tous les autres fichiers, soit
OriginalL'auteur Tushar Chutani | 2011-08-31
Vous devez vous connecter pour publier un commentaire.
Le problème est que
Image.getScaledInstance()
ne retourne pasfini, l'image à l'échelle. Il laisse beaucoup de la mise à l'échelle de travail pour plus tard
moment où les pixels de l'image sont utilisés.
Par exemple, si vous utilisez l'image à l'échelle dans un
Graphics2D.drawImage()
appelez ensuite la méthode renvoie false et continuer à dessiner de manière asynchrone. Ensuite, vous devez utiliser le
ImageObserver
paramètre dans la
Graphics2D.drawImage()
appel à attendre la fin de la mise à l'échelle et le dessin.L'exemple suivant montre comment à l'échelle des images plus simplement
sans
ImageObserver
. La mise à l'échelle est effectuée par le dessin de l'icônedans un
BufferedImage
à la place.OriginalL'auteur Simon C
Vous pouvez placer l'image dans une image icône de nouveau. Une icône d'image est généralement le chargement de l'image dans son constructeur et utilise son propre média tracker pour ce but. Je suis en utilisant le code suivant maintenant:
Vous pouvez travailler directement avec la nouvelle icône, ou appelez getImage() pour travailler avec la nouvelle image. Le code ci-dessus est également un ratio d'aspect de la préservation de mise à l'échelle donnée sur certains NOUVEAUX et ANCIENS paire.
Bye
OriginalL'auteur j4n bur53