Bonjour,
je cherche à pouvoir dessiner une ligne au dessus d'une image (photo de type jpeg), les 2 points de cette ligne devant être définis par l'utilisateur.
Pour tester, j'ai posé un TImage sur une fiche, ajouter jpeg.hpp dans le header et choisi une image avec l'inspecteur d'objet.
Ensuite, je gère la méthode de dessin de la ligne sur l'évènement OnMouseDown des TImage.
Voici mon code:
Nb: je m'excuse pour l'absence de commentaires...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 void __fastcall TForm1::ImageMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { if (first) { PointPrec.x = X; PointPrec.y = Y; first = false; } else { TPoint PointSuiv; PointSuiv.x = X; PointSuiv.y = Y; ImageSup->Picture->Bitmap->Canvas->Pen->Color = clRed; ImageSup->Picture->Bitmap->Canvas->Pen->Width = 10; ImageSup->Picture->Bitmap->Canvas->Pen->Style = psSolid; ImageSup->Picture->Bitmap->Canvas->MoveTo(PointPrec.x,PointPrec.y); ImageSup->Picture->Bitmap->Canvas->LineTo(PointSuiv.x,PointSuiv.y); first = true; } }![]()
Ce que je ne comprends pas, c'est que quand je teste mon code, je passe bien où il faut (vérifier en mode debbogage) mais je n'ai rien qui apparait sur ma fiche (pas de ligne rouge). De plus, la photo que j'affiche dans le TImage disparait.
Je ne comprends vraiment pas ce qui se passe.
Si quelqu'un peut m'aiguiller...
Partager