![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранить как картинку [D7]
hgd © (2007-07-08 13:49:00)Подскажите, есть компонент и простой код к нему
WebBrowser1.Navigate('www.yandex.ru');
Необходимо сохранить изображение WebBrowser в картинку (1.bmp) после загрузки страницы. Как?
JanMihail (2007-07-08 17:42:00) [1]Пробуй, должно получиться:
function PrintWindow(hwnd: HWND; hdcBlt: HDC; nFlags: UINT): BOOL; stdcall;
implementation
{$R *.dfm}
function PrintWindow; external user32 name 'PrintWindow';
............
procedure TForm1.Button1Click(Sender: TObject);
begin
PrintWindow(WebBrowser1.Handle, Canvas.Handle, 0);
end;
hgd (2007-07-08 16:59:00) [2]А нет .... этот код работает как снимок экрана и соответственно если компонент спрятан, то и bmp не получится. Вопрос: как исправить?
hgd (2007-07-08 14:05:00) [3]сам нашел!
function CaptureScreenRect( ARect: TRect ) : TBitmap;
var
ScreenDC: HDC;
begin
Result := TBitmap.Create;
with Result, ARect do
begin
Width := Right - Left;
Height := Bottom - Top;
ScreenDC := GetDC( 0 );
try
BitBlt( Canvas.Handle, 0, 0, Width,
Height, ScreenDC,
Left, Top, SRCCOPY );
finally
ReleaseDC( 0, ScreenDC );
end;
end;
end;
function CaptureClientImage( Control: TControl ) : TBitmap;
begin
with Control, Control.ClientOrigin do
Result := CaptureScreenRect( Bounds( X, Y, ClientWidth, ClientHeight ));
end;