à tous
![]()
Voilà j'ai récupérer ce code sur ******* mais je n'arrive pas à l'utiliser ...![]()
![]()
![]()
voilà si vous pouviez m'expliquer un peu :
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 function SetImgAngle(angle:integer; source:TBitmap):TBitmap; var n:integer; Largeur,ecart:integer; pi2:extended; z:extended; col_prov,lig_prov:integer; i,j:integer; couleur:DWord; xx,yy,x,y:integer; //Pour accelerer les chose: variable d'optimization cz,sz:extended; czpi,szpi:extended; begin n:=source.Width; Largeur:= source.Width div 2; result:=TBitmap.create; result.Height:=300;result.Width:=300;//a changer; ecart:= trunc((Sqrt(2*Sqr(n)) - n)/2); pi2:= pi / 2; z:= 0.01745 * angle; x:=source.Width div 2;y:=source.Height div 2; cz:=Cos(z);sz:=Sin(z); czpi:=Cos(z + pi2); szpi:=Sin(z + pi2); for i:= -ecart to n + ecart do begin col_prov:= trunc(Largeur + ((i - Largeur) * cz)); lig_prov:= trunc(Largeur + ((i - Largeur) * sz)); for j:= -ecart to n + ecart do begin xx:=trunc(col_prov + ((j - Largeur) * czpi)); yy:=trunc(lig_prov + ((j - Largeur) * szpi)); Couleur:=source.Canvas.Pixels [xx,yy]; if (Couleur <> -1) and (Couleur <> $FFFFFF) then begin xx:=i + (X - Largeur); yy:=j + (Y - Largeur); result.Canvas.Pixels[xx,yy]:=Couleur end; end; end; end;pour le lancer:
2 images + un scrollbar (par exemple):
image2.picture.Bitmap:=SetImgAngle(scrollbar1.Position,image1.Picture.Bitmap)
C'est pour le lancer que j'ai un problème l'histoire du scrollbar j'ai un peu de malj'ai essayer comme ceci mais en vain ...
j'ai un gros carré noir qui s'affiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 procedure TForm1.Button1Click(Sender: TObject); var img : TBitmap; begin img :=Tbitmap.Create; img.LoadFromFile('c:\fleche.bmp'); form1.canvas.Draw(50,50,setImgAngle(30,img)); end;d'avance
Partager