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

Composants FMX Delphi Discussion :

XE8 - ImageViewer - partie fixe, et dessin sur image


Sujet :

Composants FMX Delphi

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 82
    Points : 47
    Points
    47
    Par défaut XE8 - ImageViewer - partie fixe, et dessin sur image
    Bonjour,

    Dans le cadre de mon application, je dois afficher une image que l'utilisateur pourra zoomer, et sur laquelle il devra choisir des points. En Fonction des points choisis, mon application devra dessiner une courbe ou une fonction. (Par exemple courbe de bézier).
    Pour ce faire
    - j'ai adapté le TimageViewer à ma sauce, en créant un composant ayant des méthodes un peu différentes (je n'aimais pas que l'image se recentrait chaque fois que l'utilisateur zoomait)
    - je compte utiliser des TSelectionPoint pour séléctionner et afficher les points à l'écran (mais je n'en suis pas encore là)
    Étant donné que les TSelectionPoint seront des enfants ImageViewer, je compte recalculer les coordonnées de chaque point dans la procédure de zoom, en effet, en passant du zoom 1 à zoom 2, le point affiché passera par exemple de (100,50) à (200,100). Dans ma base de données, le points seront enregistrés sans facteur de zoom.

    Je suis intéressé par votre avis en ce qui concerne l'affichage des courbes. Je compte enregistrer ces courbe dans un (plusieurs) composant TPath. Bien sur, chaque fois que le facteur de zoom, j'appliquerai ce facteur à mon tpath et je redessinerai. Dans le cas où l'utilisateur ajuste ou rajoute un point dans imageviewer, il faudra recalculer le tpath et redessiner la courbe.
    J'hésite entre Afficher l'image de fond dans le TimageViewer et lui mettre comme enfant un tpaintbox de même taille (qui sera aussi redimensionné en cas de zoom) et de chaque fois effacer le paintbox et le redessiner (un peu comme un calque photoshop), ou alors dessiner directement sur le TimageViewer, en gardant à l'esprit qu'il faudra recharger l'image de fond à chaque paint, ce qui risque d'arriver souvent.

    Quelle solution prendriez vous, ou avez vous d'autres idées?

    Merci d'avance.
    Xavier

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 176
    Points : 41 368
    Points
    41 368
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Afficher l'image de fond dans le TimageViewer et lui mettre comme enfant un tpaintbox de même taille (qui sera aussi redimensionné en cas de zoom) et de chaque fois effacer le paintbox et le redessiner (un peu comme un calque photoshop),
    sans hésiter

Discussions similaires

  1. Dessin sur image le plus rapidement possible
    Par jeremlacreme dans le forum Windows Forms
    Réponses: 3
    Dernier message: 17/12/2015, 10h47
  2. [DEBUTANT] Prolèmes avec le dessin sur image
    Par richard_sraing dans le forum C#
    Réponses: 1
    Dernier message: 09/04/2007, 11h43
  3. Dessiner sur image
    Par ViveLesQuads dans le forum Flash
    Réponses: 2
    Dernier message: 10/11/2006, 15h59
  4. Déplacer, zoomer, dessiner (sur) une image
    Par charlito dans le forum 2D
    Réponses: 4
    Dernier message: 22/02/2006, 01h58
  5. [Servlet] [Image] Dessiner sur une image
    Par gaia_dev dans le forum 2D
    Réponses: 5
    Dernier message: 01/09/2004, 17h11

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