Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.15;
Скачать: CL | DM;

Вниз

Как получить картинку с браузера?   Найти похожие ветки 

 
Ш-К   (2002-07-03 17:11) [0]

Как получить изображение с браузера в битмап? Т.е. мне надо "получить" канву открытого документа и скопировать её в битмап даже если она перекрывается чужими окнами.


 
Fiend ©   (2002-07-03 17:37) [1]

Ну наверна по хэндлу окна получить котекст устройства и скопировать куда то к себе


 
Ш-К   (2002-07-04 01:07) [2]

У меня есть файл *.html и мне надо просто отобразить его содержимое в Image, уменьшинной копией.

Я пытаюсь делать через загрузку в веббраузер. И как мне " по хэндлу окна получить котекст устройства"?
Такой код не работает:

DC:= GetDC(WebBrowser1.HWND);


 
Fiend ©   (2002-07-04 10:01) [3]

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls, OleCtrls, SHDocVw_TLB;

type
TForm1 = class(TForm)
WebBrowser: TWebBrowser_V1;
Image: TImage;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.BitBtn1Click(Sender: TObject);
var HWWW: HDC;
begin
HWWW:= GetDC(WebBrowser.Handle);
BitBlt(Image.Canvas.Handle, 0,0,Image.width,Image.Height,
HWWW,0,0, SRCCOPY);
Image.refresh;
ReleaseDC(WebBrowser.Handle, HWWW);

end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
WebBrowser.Navigate(" http://localhost/cr/");
end;

end.


 
Ш-К   (2002-07-04 15:41) [4]

WebBrowser.Handle - дескриптор TOleConteiner или, если угодно TWinControl. Через него отображается всё, что на нём "лежит", включая другие окна.
А мне надо только файл отобразить, желательно весь, а не то как он выглядит в TOleConteiner.

Я просто видел программы которые показывают документы полностью в расте.


 
int64 ©   (2002-07-04 16:09) [5]

Документ можно привести к интерфейсу IViewObject.
Вот для твоей задачи:

procedure TForm1.Button1Click(Sender: TObject);
var WB1: TWebBrowser;
r: TRect;
begin
r:=Rect(10,10,200,400);
WB := TWebBrowser.Create(nil);
TControl(WB).Parent := Panel1;//где нет скроллбаров
WB.Left:= 4000; WB.Top:= 4000; //это чтобы спрятать
WB.Height:= 500; //поэксперементируй с размерами
WB.Navigate("c:\temp\1.htm");
while WB.ReadyState<>READYSTATE_COMPLETE do
Forms.Application.ProcessMessages;

(WB.Document as IViewObject).Draw(DVASPECT_CONTENT,
1, nil, nil, Self.Handle,
Self.Canvas.Handle, @r, nil, nil, 0);
WB.Free;
end;


Дерзай.


 
Ш-К   (2002-07-04 17:23) [6]

АГРОМНЫЙ СПАСИБ!!! :)))))))))))))



Страницы: 1 вся ветка

Текущий архив: 2002.07.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.015 c
14-47775
FLIZ
2002-06-14 15:41
2002.07.15
ВСЕ! ЗАВТРА В ОТПУСК! НА МОРЕ! НА ЮГ!!!!!!!!!!!!!!!!


1-47345
kserg@ukr.net
2002-07-01 17:37
2002.07.15
TMenuItem - добавить новый элемент выпадающего меню


7-47849
KirilAlex
2002-04-16 22:38
2002.07.15
Опять эта дверца


1-47485
b6hc8yr6
2002-07-04 03:04
2002.07.15
Как добавить собственное событие в компонент?


1-47544
tsarevep
2002-06-25 20:42
2002.07.15
PageControl