![]() |
auslesen der farbe eines pixels auf dem monitor
hi, ist es möglich/wie ist es möglich bei einem bestimmten pixel auf dem display außerhalb der form die farbe auszulesen?
also je nach auflösung bei mir z.b. 1280x1024 pixel will ich die farbe von pixel (100/150) auslesen, wobei 100 x-wert und 150-y wert ist. wie bekommt man in delphi dann den farbwert also wie wird er ausgegeben als hexcode? danke! |
Re: auslesen der farbe eines pixels auf dem monitor
Einfach ein Canvas an den Desktop binden.
Delphi-Quellcode:
(ungetestet)
function GetColorAt(const X, Y: Integer): TColor;
var canvas: TCanvas; begin canvas:=TCanvas.Create; try canvas.Handle:=GetWindowDC(GetDesktopWindow); Result:=canvas.pixels[X, Y]; finally canvas.Free; end; end; |
Re: auslesen der farbe eines pixels auf dem monitor
Das hatten wir schon öfters...
![]()
Delphi-Quellcode:
function DesktopColor(const X, Y: Integer): TColor;
var c: TCanvas; begin c := TCanvas.Create; try c.Handle := GetWindowDC(GetDesktopWindow); Result := GetPixel(c.Handle, X, Y); finally c.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); var Pos: TPoint; begin GetCursorPos(Pos); Panel1.Color := DesktopColor(Pos.X, Pos.Y); end; |
Re: auslesen der farbe eines pixels auf dem monitor
@Meflin: Bei deinem Code hat die TCanvas Instanz keinen Sinn. Sie wird nur zum freigeben des DC Handles genutzt. Da könnte man aber gleich alles in WinAPI machen und ReleaseDC() selber aufrufen. Bei 3_of_8's Code wird die Pixel's Eigenschaft genutzt des Canvas.
|
Re: auslesen der farbe eines pixels auf dem monitor
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz