Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сохранить как картинку [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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо