Bonjour;
J'envisage de faire signer sur un portable à écran tactil, un bon de livraison par exemple, et enregistrer cette signature sous forme de bmp.
pouvez m'aider ?
Avec mes remerciements
Claude
Version imprimable
Bonjour;
J'envisage de faire signer sur un portable à écran tactil, un bon de livraison par exemple, et enregistrer cette signature sous forme de bmp.
pouvez m'aider ?
Avec mes remerciements
Claude
Jusqu'à maintenant tu as essayer quoi?
T'a penser utiliser les évènements OnMouseDown, OnMouseMove et OnMouseUp pour dessiner sur un Canvas?
Salut
Dejà faudrait savoir si un toucher du doigt equivaut à un clic de souris , si oui çà devrait pas être tres sorcier
Bonjour;
merci pour répondre si vite,
En effet Sedni, un toucher du doigt equivaut à un clic de souris .
Vous auriez une solution sympa ?
Cordialement.
Bonjour Crayon
En effet je souhaite utiliser OnMouseDown.
J'ai encapsule un TPaintBox dans un Panel,
Maintenant je sais creer une droite etc.. mais je ne comprends pas comment utiliser le Tpen pour permettre la signature ....
merci
claude
Dans ton MouseMove tu mets qqchose du genre:
Code:????->Canvas->Ellipse(X-1, Y-1, X+1, Y+1);
Bonjour Crayon;
j'ai réglé mon probléme en faisant cela
avec lévénement MouseMove.
j'ai affecté à BM->Canvas->Font->Size la valeur 2;Code:
1
2
3
4
5
6
7
8
9 if(Shift.Contains(ssLeft)) { TPoint a; a.x = X; a.y = Y; SIGN->Canvas->TextOutA(X,Y, " "); //X,Y, SIGN->Canvas->MoveTo (a.x, a.y); //Point SIGN->Canvas->Draw(0,0,BM); }
Merci pour vos réponses
cordialement
Claude
Correctif sur le code:
Le bon code est le suivant:
cordialementCode:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { BM=new Graphics::TBitmap(); BM->Width=Screen->Width; BM->Height=Screen->Height; BM->Canvas->FillRect(Rect(0,0,PB->Width,PB->Height)); BM->Canvas->Pen->Width = 0,5; BM->Canvas->Font->Size=1; } void __fastcall TForm1::PBPaint(TObject *Sender) { TRect r; r.left=0; r.top=0; r.right=PB->Width-1; r.bottom=PB->Height-1; PB->Canvas->FillRect(r); BM->Canvas->Brush->Color=clWhite; BM->Canvas->FillRect(Rect(0,0,PB->Width,PB->Height)); BM->Canvas->MoveTo (0,0); BM->Canvas->LineTo (PB->Width-1,PB->Height-1); BM->Canvas->MoveTo (PB->Width-1,0); BM->Canvas->LineTo (0,PB->Height-1); PB->Canvas->Draw(0,0,BM); BM->Canvas->Pen->Width = 1; BM->Canvas->Brush->Color = clRed; } void __fastcall TForm1::PBMouseMove(TObject *Sender, TShiftState Shift, int X, int Y) if(Shift.Contains(ssLeft)) { BM->Canvas->LineTo(X,Y); PB->Canvas->Draw(0,0,BM); } else BM->Canvas->MoveTo(X,Y);
Salut, merci de partager la solution.
Peut-être que tu as oublier de mettre un bout de code dans ton dernier message. Juste au cas, si tu fabriques un objet de façon dynamique, n'oublie de faire un delete:
Code:BM=new Graphics::TBitmap();