Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Webbrowser и цвет пикселя


Автор: DjSaSh 26.1.2005, 14:11
Здравствуйте!!!

Тут такая интересная вещь нужна!!!!
Я загружаю в WebBrowser страничку, но мне нужно получить цвет в определенной точки в этом компоненте...

Подскажите плиз как это получить!!!

Автор: Alex 26.1.2005, 16:34
Код

function GetColorInPixel(h: HWND; X, Y: Integer): TColor;
var
 r: TRect;
begin
 GetWindowRect(h, r);
 with TBitmap.Create do try
   Width := r.Right - r.Left;
   Height := r.Bottom - r.Top;
   BitBlt(Canvas.Handle, 1, 1, r.Right - r.Left, r.Bottom - r.Top, GetDC(h), 1, 1, SRCCopy);
   Result:= Canvas.Pixels[X, Y];
 finally
   Free;
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 ShowMessage(ColorToString(GetColorInPixel(WebBrowser1.Handle, 10, 10)));
end;

Автор: p0s0l 26.1.2005, 17:34
Alex, почему-то всегда забывают делать ReleaseDC smile
Кстати, можно без создания битмапа обойтись smile :
Код
function GetColorInPixel(h: HWND; X, Y: Integer): TColor;
var dc : HDC;
begin
 dc := GetDCEx (h, 0, DCX_CACHE);
 Result := GetPixel (dc, x, y);
 ReleaseDC (h, dc);
end;


Автор: Alex 26.1.2005, 17:41
smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)