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

Delphi Discussion :

Dessin sur Zoom


Sujet :

Delphi

  1. #1
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 70
    Points : 49
    Points
    49
    Par défaut Dessin sur Zoom
    J'ai un ennui dans mon logiciel de dessin, lorsque j'effectue un zoom et que je désire dessiner un rectangle (outil zoom enclenché), j'ai un message d'erreur m'indiquant un "indice ligne hors limites". Je crois qu'au niveau de l'axe des abscisses tout se passe à peu près correctement par contre, le réel problème concerne l'axe des ordonnées. Voici un bout de code :

    MainForm.outil.OutilMouseMove(Sender,shift,
    round((x+HorzScrollBar.Position)/valeurZoom),
    round((y+VertScrollBar.Position)/valeurZoom));

    ValeurZoom étant la valeur du facteur de réduction ou d'agrandissement.
    Merci d'avance...

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 343
    Points : 392
    Points
    392
    Par défaut
    Est-ce que les arguments de ta procedure sont des Integer; INt64, real ???
    Regarde la signature de ta procédure , et ton facteur zoom doit etre trop compris entre quelles valeurs? et surtout <> 0...
    La solution est peut être là.
    Bon code

  3. #3
    Membre du Club
    Inscrit en
    Mai 2006
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 70
    Points : 49
    Points
    49
    Par défaut
    Les deux derniers arguments sont des Integer et ValeurZoom et toujours<>0. Là je vois vraiment pas.
    Le fait est que ça marche à peu près bien pour x mais pour y(dès que je descend un peu trop bas) ça bug. Oh la la trop longtemps que je cherche :s mais bon je ne désespère pas.

  4. #4
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 419
    Points : 5 818
    Points
    5 818
    Par défaut
    salut

    a priorie tu doit avoir des borne pour ton image
    et si tu les depasse tu aura de façon recurente un indice hors limite

    @+ Phil
    PS : tu devrais retrouver le probleme aussi en x
    Nous souhaitons la vérité et nous trouvons qu'incertitude. [...]
    Nous sommes incapables de ne pas souhaiter la vérité et le bonheur, et sommes incapables ni de certitude ni de bonheur.
    Blaise Pascal
    PS : n'oubliez pas le tag

Discussions similaires

  1. dessiner sur une image zoomée
    Par ralf91 dans le forum C#
    Réponses: 3
    Dernier message: 14/05/2008, 21h24
  2. Dessiner sur une image zoomée
    Par M_Makia dans le forum VB.NET
    Réponses: 2
    Dernier message: 29/02/2008, 11h46
  3. [Servlet] [Image] Dessiner sur une image
    Par gaia_dev dans le forum 2D
    Réponses: 5
    Dernier message: 01/09/2004, 17h11
  4. [Transparent] - Comment dessiner sur 2 TImage ?
    Par TOTO32 dans le forum Langage
    Réponses: 15
    Dernier message: 08/08/2004, 01h06
  5. Dessiner sur un Tbutton
    Par rvzip64 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 02/06/2004, 09h06

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