Jak pobrać kolor piksela w Linux , pod Windowsem używałem tego kodu ale on nie działa na linux.
kolor piksela nie jest w mojej aplikacji wiec muszę użyć uchwytu.
var
c:Tcolor;
begin
Canvas.Handle:=windows.GetWindowDC(getdesktopwindow);
c:=canvas.Pixels[m,n];
ReleaseDC(getdesktopwindow,canvas.handle);
end;
Próbowałam zrobić Screanshot a potem pobrać z pliku kolor piksela ale to też nie działa
Linux Ubantu
procedure TForm1.Button4Click(Sender: TObject);
var MyBitmap:Graphics.TBitmap;
ScreenDC:LCLType.HDC;
WrkJpg:TJpegImage;
begin
MyBitmap:=Graphics.TBitmap.Create;
ScreenDC:=LCLIntf.GetDC(0);
MyBitmap.LoadFromDevice(ScreenDC);
//Per avere un elenco dei vari formati disponibili (png, bmp, xmp, ecc.):
//http://wiki.lazarus.freepascal.org/Developing_with_Graphics#Image_formats
WrkJpg:=TJpegImage.Create;
try
WrkJpg.Assign(MyBitmap);
WrkJpg.SaveToFile(Utf8ToSys(WinTemp + 'Mario.jpg'));
finally
FreeAndNil(WrkJpg);
end;
LCLIntf.ReleaseDC(0 , ScreenDC);
FreeAndNil(MyBitmap);
end;