Portál AbcLinuxu, 24. dubna 2024 11:34


Dotaz: Delphi-pristup k pixelu

8.9.2011 19:14 Lojzan
Delphi-pristup k pixelu
Přečteno: 168×
Odpovědět | Admin
Dobrý den, mam dve procedury, ktere spolecne dokazi zobrazit HEX kod barvy urciteho pixelu. Vim co delaji, ale nerozumim kodu. Predpokladam, ze pracuji bez ohledu na kurzor. Příklad: Mam bilou plochu a na pozici 50x65 mam kurzor. Barva tohoto bodu je cerna (okraj sipecky mysi), ale procedury onen pixel vyhodnoti jako bily ('nevidi' kurzor). Potreboval bych, aby pracovaly i s kurzorem.

//Konverze barvy do HEX kodu function ColorToHTMLHex(Color: TColor): String; begin Result := IntToHex(ColorToRGB(Color), 6); Result := Copy(Result, 5, 2) + Copy(Result, 3, 2) + Copy(Result, 1, 2); end;

//Ziskani pixelu pro urceni barvy function DesktopColor(const x,y: integer): TColor; var c:TCanvas; begin c:=TCanvas.create; c.handle:=GetWindowDC(GetDesktopWindow); result:=getpixel(c.handle,x,y); c.free; end;
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.9.2011 19:16 Lojzan
Rozbalit Rozbalit vše Re: Delphi-pristup k pixelu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Omlouvam se za format kodu.

//Konverze barvy do HEX kodu

function ColorToHTMLHex(Color: TColor): String;

begin

Result := IntToHex(ColorToRGB(Color), 6);

Result := Copy(Result, 5, 2) + Copy(Result, 3, 2) + Copy(Result, 1, 2);

end;

//Ziskani pixelu pro urceni barvy

function DesktopColor(const x,y: integer): TColor;

var

c:TCanvas;

begin

c:=TCanvas.create;

c.handle:=GetWindowDC(GetDesktopWindow);

result:=getpixel(c.handle,x,y);

c.free;

end;

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.