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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
procedure TFcamera.Timer1Timer(Sender: TObject);
var BitMap :TBitMap;
Image :TJpegImage;
NomFichier :String;
i :Integer;
begin
// On doit enregistrer le presse-papier car la touche PrintScreen à été appuyée
If AFaire And ClipBoard.HasFormat(cf_BitMap)
Then Begin
BitMap:=TBitMap.Create;
Image :=TJpegImage.Create;
Try
// Chargement dans un BitMap du presse papier ( au format BMP )
BitMap.LoadFromClipboardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0);
Image.CompressionQuality:=80;
// Conversion du BMP en JPG
Image.Assign(BitMap);
// Recherche d'un nom de fichier non utilisé
I:=1;
Repeat
//A ajouter
{if EdURL.Text = '192.168.1.10' then
NomFichier:=chappli+'\CamAvant_'+IntToStr(i)+'.JPG';}
if EdURL2.Text = '192.168.1.12' then
NomFichier:=chappli+'\CamArrière_'+IntToStr(i)+'.JPG';
Inc(i);
Until Not FileExists(NomFichier);
// Enregistrement de l'image
Try
Image.SaveToFile(NomFichier);
Except
End;
Finally
BitMap.Free;
Image .Free;
End;
End;
AFaire:=False;
// Test de la touche d'impression de l'écran
If ((GetAsyncKeyState(VK_SNAPSHOT) and 32768) <> 0)
Then Begin
If Not UneFois
Then Begin
// Si la touche est appuyée on enregistre le presse-papier sur le prochain OnTimer
UneFois:=True;
AFaire:=True;
End;
End
Else Begin
UneFois:=False;
End;
end; |
Partager