Bonsoir,
j'ai repris Lazarus et le Pascal depuis peu, et j'ai du rouiller.
Ce code, fait pour essayer de comprendre mon problème, fonctionne (il récupère une image, et l'assigne à un composant image).
Le code ci-dessous, récupéré dans la documentation, et destiné à faire un screenshot, me renvoie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 uses Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls; .. procedure TForm1.FormCreate(Sender: TObject); var bmp : TBitmap; begin bmp := TBitmap.Create; bmp.LoadFromFile('D:\Documents\Mes Projets\Mes programmes Lazarus\Test TImage\Capture.bmp'); Image.Picture.Assign(bmp); bmp.Free; end;Comme j'ai besoin de GetDC(), j'ai ajouté windows aux uses. Patatra, il semble que TBitmap n'existe plus, et qu'on m'impose TBITMAP.Identifier idents no member Create
Je suis passé à côté de quoi ? Mon problème n'est pas de faire un screenshot, mais de comprendre ce que j'ai mal fait. (au passage, je n'ai pas perdu trop de temps, la lecture de divers sites m'a prodigué une puissante révision. Mais pas la lumière. J'ai déjà honte de la réponse que je vais recevoir, je sens que ma question est d'une banalité affligeante...)
Merci à ceux qui m'apporteront l'illumination.
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 uses Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, Windows; .. procedure TForm1.FormCreate(Sender: TObject); var bmp : TBitmap; ScreenDC : HDC; begin bmp := TBitmap.Create; // <--- ligne pointée par le compilateur ScreenDC := GetDC(0); bmp.LoadFromDevice(ScreenDC); Image.Picture.Assign(bmp); ReleaseDc(0, ScreenDC); bmp.Free; end;
Partager