
05.04.2011, 00:49
|
 |
Продвинутый
|
|
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
|
|
Цитата:
Сообщение от Homez
А, сам практически ответил на свой вопрос. Вот код, который копирует текущее изображение с активной в данный момент формы на холст родной формы:
Код:
Window := GetForegroundWindow();
DC := GetDC(Window);
for i := 0 to 100 do
for j := 0 to 100 do
begin
Canvas.Pixels[i, j] := GetPixel(DC, i, j);
end;
ReleaseDC(Window, DC);
То есть, мы получаем hDC чужой формы и вольны делать с ним что угодно, читать пиксели с него и даже рисовать на нем. Но вот мое замечание: данный код работает очень медленно. Для кусочка 100*100 функция GetPixel вызывается 10 000 раз! Нет ли какого-нибудь способа считать с DC чужой формы целый ректангл за один вызов функции Win32 API?
|
а это не катит BitBlt
|