J'ai mis à l'échelle des images facilement avec le .getScaledInstance
lors de leur importation comme ceci:.getScaledInstance travaillant avec des GIFs animés
player_sprite = a_1.getImage().getScaledInstance(150, 150, 100);
Mais on ne peut pas être dit au sujet de mise à l'échelle des GIFs animés que quand je fais la même méthode de mise à l'échelle d'un GIF il provoque des problèmes lors de l'affichage. En utilisant g.drawImage
il dessine seulement la première image puis disparaît.
Voici le code complet pour importer le GIF que j'utilise et ci-dessous sera un exemple de la façon dont je visualise le GIF animé sur le JFrame
:
son importation:
ImageIcon a_1 = new ImageIcon(FrontHand.class.getResource("/Sprites/character_move_down.gif"));
move_player_down = a_1.getImage().getScaledInstance(100, 100, 100);
Afficher le:
g.drawImage(move_player_down, 100, 100, this);
y at-il une autre méthode simple que je pourrais utiliser pour augmenter la taille du GIF animé ou est-il une solution simple à ce problème.
Les GIF ne devraient pas évoluer différemment des autres formats de fichiers, à moins que vous ne parliez spécifiquement de GIF * animés *. Si c'est le cas, vous pourriez vouloir mettre cette information critique dans votre question. –
1. Passer '100' comme dernier paramètre de' getScaledInstance' n'a pas de sens. 2. Avez-vous * vraiment * besoin de l'instance * mise à l'échelle *? Ne pouvez-vous pas le dessiner plus gros (avec l'appel 'drawImage' approprié, ou peut-être un' Graphics2D 'transformé?) 3. Avez-vous vraiment besoin de l'agrandir * dans votre programme *? Vous ne pouvez pas utiliser un outil externe pour créer l'image avec la taille désirée? Obtenir une instance réduite d'un gif animé semble être étonnamment difficile.Ce http://stackoverflow.com/q/9392227/ est fondamentalement un doublon, mais la réponse semble très délicate ... EDIT @ HovercraftFullOfEels * "dessine la première image" * – Marco13
ne savait pas qu'il y avait une différence mettra à jour :) – Taka