23. maj 2008 - 17:28
Der er
5 kommentarer
læse farve på pixel tilfældigt sted på skærmen
Hej ! nogen der har et eksempel på hvordan jeg læser farven på en pixel et tilfældigt sted på skærmen ?
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
i det program jeg er ved at strikke sammen er det jo slevfølgelig ikke tilfældigt hvor jeg læser fra men funktionen skal kunne læse over det hele..
Til det skal du bruge funktionen GetPixelColor.
F.eks.: PixelColor:=IntToStr(GetPixelColor(iLeftPX,iTopPX));
GetPixelColor har jeg godt nok aldrig hørt om .. Men GetPixel der imod ... Den retunerer farven på en bestemt pixel, i en given Device kontekst. Du fortæller ikke såmeget om hvad du skal bruge det til, så her er to forskellige funktioner ... function GetScreenPixelRGB(X, Y: Integer): TRGBTriple; var ColorRef: TColorRef; begin ColorRef := GetPixel(GetDC(0), X, Y); Result.rgbtRed := Byte(ColorRef); Result.rgbtGreen := Byte(ColorRef shr 8); Result.rgbtBlue := Byte(ColorRef shr 16); end; function GetScreenPixel(X, Y: Integer): TColor; begin Result := TColor(GetPixel(GetDC(0), X, Y)); end; og kalde den fx. fra en timer : procedure TForm15.Timer1Timer(Sender: TObject); var CursorPos : TPoint; begin GetCursorPos(CursorPos); Caption := ColorToString( GetScreenPixel(CursorPos.X, CursorPos.Y)); end; Jens B
16. december 2008 - 17:05
#5
lad os få lukket spørgsmålet.. borrisholt, smider du et svar ?
Kurser inden for grundlæggende programmering