Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.30;
Скачать: CL | DM;

Вниз

Как определить цвет пикселя.   Найти похожие ветки 

 
Dhg   (2004-05-14 22:30) [0]

Здорова.
Люди, кто знает не поленитесь писануть плиз...
Вот например если использовать getcursorpos и по нему на мемо например скидывать цвет. Конечно, понимаю что пиксели не единого цвета содержания могут быть, но всё таки, как говориться "кто чем может".


 
Style ©   (2004-05-14 22:44) [1]

Пиксель чего???
Можно взять точку с определенного Device Context"a

function ColorRefToHTMLColor(Clr: COLORREF): string;
begin
result := "#" +
IntToHex(GetRValue(Clr),2) +
IntToHex(GetGValue(Clr),2) +
IntToHex(GetBValue(Clr),2);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
Clr: COLORREF;
Pt: TPoint;
Str: string;
begin
GetCursorPos(Pt);

Clr := GetPixel(GetDC(HWND_DESKTOP),Pt.x,Pt.y);
Str := "TColor: " + ColorToString(Clr) + " HTML:" + ColorRefToHTMLColor(Clr);

Memo1.Lines.Text := Str;
end;


 
Игорь Шевченко ©   (2004-05-14 22:50) [2]

Глючит, конечно, но в первом приближении пытается работать, отлаживать лень:

unit main;

interface
uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, ExtCtrls;

type
 TfMain = class(TForm)
   Shape1: TShape;
   Timer: TTimer;
   procedure TimerTimer(Sender: TObject);
 end;

var
 fMain: TfMain;

implementation

{$R *.dfm}

procedure TfMain.TimerTimer(Sender: TObject);
var
 Wnd: HWnd;
 CursorPos: TPoint;
 DC: HDC;
 Pixel: DWORD;
begin
 GetCursorPos(CursorPos);
 Wnd := WindowFromPoint(CursorPos);
 if IsWindow(Wnd) then begin
   MapWindowPoints(HWND_DESKTOP, Wnd, CursorPos, 1);
   DC := GetWindowDC(Wnd);
   try
     Pixel := GetPixel(DC, CursorPos.X, CursorPos.Y);
     Shape1.Brush.Color := Pixel;
   finally
     ReleaseDC(Wnd, DC);
   end;
 end;
end;

end.


Таймер установлен на 300 миллисекунд.


 
Dhg   (2004-05-14 22:50) [3]

to Style
RESPECT.
two all
Ну а другие способы найдётся?...


 
Dhg   (2004-05-14 22:52) [4]

2 Игорь Шевченко
RESPECT



Страницы: 1 вся ветка

Текущий архив: 2004.05.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.105 c
6-1081548111
Raptoridze
2004-04-10 02:01
2004.05.30
ripe


14-1084382180
NailMan
2004-05-12 21:16
2004.05.30
Че-то запутался с приведением к типу... :-(


6-1081952834
Midaw
2004-04-14 18:27
2004.05.30
Копирование на несколько компов


14-1083720501
Думкин
2004-05-05 05:28
2004.05.30
С днем рождения! 5 мая


6-1081777568
Ivolg
2004-04-12 17:46
2004.05.30
Почта