Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Вниз
Handle - > bmp Найти похожие ветки
← →
Ozone © (2004-04-05 11:47) [0]Если у меня есть HANDLE окна, то как получить его изображение?
← →
Семен Сорокин © (2004-04-05 11:54) [1]FindControl(Handle).PaintTo();
← →
Ozone © (2004-04-05 12:13) [2]Выдает "...Access violation ...".
Делаю так:
var
hWndC: THandle;
begin
hWndC := capCreateCaptureWindow(...);
{...}
FindControl(hWnd).PaintTo(MainForm.Canvas, 0, 0);
end;
В чем я не прав?
← →
Семен Сорокин © (2004-04-05 12:23) [3]Окно должно быть наследником TWinControl
← →
Ozone © (2004-04-05 12:27) [4]Сделал - все без ошибок, но на Canvas"e пустой прямоугольник...
(хотя в этом окне я четко вижу картинку)
ЗЫ: картинка с Web-камеры
← →
VMcL © (2004-04-05 12:37) [5]>>Ozone © (05.04.04 12:13) [2]
Так нельзя, окно ж не в твоей VCL-программе создано.
Попробуй как-то так:procedure GetScrShot(const Win: HWND);
var
Bmp: TBitmap;
DC: HDC;
R: TRect;
begin
with TBitmap.Create do
try
DC := GetWindowDC(Win);
try
GetWindowRect(Win, R);
Width := R.Right - R.Left;
Height := R.Bottom - R.Top;
BitBlt(Canvas.Handle, 0, 0, Width, Height,
DC, 0, 0, SRCCOPY);
finally
ReleaseDC(Win, DC);
end;
SaveToFile("C:\_ScrShot.bmp");
finally
Free;
end;
end;
← →
Ozone © (2004-04-05 14:43) [6]TO VMcL ©:
Спасибо - работает. А можно ли как нить в JPEG засунуть?
← →
VMcL © (2004-04-05 15:10) [7]>>Ozone © (05.04.04 14:43) [6]
Лентяй ты. Примеры в Delphi7/Help/Examples/ слабо глянуть?procedure GetScrShot(const Win: HWND);
var
Bmp: TBitmap;
Jpg: TJpegImage;
DC: HDC;
R: TRect;
begin
Bmp := TBitmap.Create;
with Bmp do
try
DC := GetWindowDC(Win);
try
GetWindowRect(Win, R);
Width := R.Right - R.Left;
Height := R.Bottom - R.Top;
BitBlt(Canvas.Handle, 0, 0, Width, Height,
DC, 0, 0, SRCCOPY);
finally
ReleaseDC(Win, DC);
end;
Jpg := TJPEGImage.Create;
try
Jpg.Grayscale := False;
Jpg.CompressionQuality := 80;
Jpg.Performance := jpBestQuality;
Jpg.ProgressiveDisplay := False;
Jpg.PixelFormat := jf24Bit;
Jpg.Assign(Bmp);
Jpg.SaveToFile("C:\_ScrShot.jpg");
finally
Jpg.Free;
end;
finally
Free;
end;
end;
← →
Ozone © (2004-04-05 15:19) [8]Спасибо... с меня много пива.
← →
VMcL © (2004-04-05 15:55) [9]>>Ozone © (05.04.04 15:19) [8]
Почтовый адрес писать?
Новосибирск - Киев: никаких оплат за счет абонента! :)
← →
Ozone © (2004-04-05 16:19) [10]Лучше приезжай.
← →
VMcL © (2004-04-05 17:27) [11]>>Ozone © (05.04.04 16:19) [10]
>Лучше приезжай.
Наверно... в следующей жизни... когда я стану кошкой, ла-ла-ла-ла.
← →
Romkin © (2004-04-05 17:28) [12]Yess!!! 2VMcL Поздравляю :)))
← →
McSimm © (2004-04-05 17:28) [13]:)
← →
VMcL © (2004-04-05 17:36) [14]>>Romkin © (05.04.04 17:28) [12]
>>McSimm © (05.04.04 17:28) [13]
Угу, типа спасибо :)
И всё-таки http://delphimaster.net/view/15-1081172037/ ?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.25;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.029 c