IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

Dessiner une image avec coordonnées de type float ou double


Sujet :

2D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 122
    Par défaut Dessiner une image avec coordonnées de type float ou double
    Bonjour,
    J'essaie de dessiner une image en mouvement très lent ,

    je le fais avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    drawImage(img, x, y, null);
    ,
    seulement cette fonction ne prend que des entiers pour les coordonnées.

    Je sais qu'on peut dessiner des formes en float et des double avec la methode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    g.draw(new Rectangle2D.Double(...)
    Comment dessiner une image avec des coordonnée float ou double? ceci m'est nécessaire car cette image à pour but d’être en mouvement permanent et lent cependant la faire translater en coordonnées entiers fait perdre en fluidité mon animation. (on arrive facilement à voir l'image sauter d'un pixel à chaque fois)

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    fais nous voir le contenu de ta méthode paintComponent. Tu ne nous donne pas suffisamment d'informations pour que l'on puisse trouver une piste concernant ton problème (je subodore que l'histoire entiers/double n'est pas le problème en lui même).

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 911
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 911
    Billets dans le blog
    54
    Par défaut
    Tu peux faire une translation a ton repere avec Graphics2D.translate() ou utiliser une AffineTransform.getTranslateInstance() ce qui dans tous les cas te permet de dessiner ton image aux coords (0, 0).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Graphics2D g2d = (Graphics2D)g.create(...)
    try {
      g2d.translate(...);
      g2d.drawImage(image, 0, 0, null);
    }
    finally {
      g2d.dispose();
    }
    Il est possible qu'il faille activer divers indices de rendu cependant histoire d'avoir un affichage plus smooth.

    Une autre astuce consisterai a produire une image intermédiaire soumise a un flou de déplacement (motion blur, speed blur, wind blur, etc.) qui serait affichée uniquement lorsque les coords ne sont pas entières (pas forcement une bonne solution si le déplacement est vraiment lent).
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 122
    Par défaut
    Impeccable . avec translate ça marche. mais je dois faire un 2ème translate inverse pour remettre le système de coordonnée ça sa place.


    Il est possible qu'il faille activer divers indices de rendu cependant histoire d'avoir un affichage plus smooth.
    J'aimerai en savoir plus sur ces indice
    merci

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 911
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 911
    Billets dans le blog
    54
    Par défaut
    D'où l'interet d'utiliser un Graphics temporaire, ce que visiblement tu n'as pas fait.

    Pour les indices, voir RenderingHints et ceux concernant la qualité de rendu ou encore l'interpolation.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Drag and Drop sur une image avec coordonnées générées
    Par psgman113 dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 28/04/2009, 21h58
  2. dessiner une ligne avec des point de coordonnées doubles
    Par tanguy.L dans le forum Débuter
    Réponses: 2
    Dernier message: 11/11/2008, 23h16
  3. dessiner des cercles sur une image avec java
    Par inès83 dans le forum Traitement d'images
    Réponses: 12
    Dernier message: 04/05/2008, 17h34
  4. Réponses: 9
    Dernier message: 20/02/2008, 18h38
  5. Dessiner une image avec une couleur transparente
    Par FabaCoeur dans le forum AWT/Swing
    Réponses: 8
    Dernier message: 10/02/2008, 20h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo