Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Вниз

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

 
Ш-К   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.014 c
8-47609
Саня
2002-02-28 14:00
2002.07.15
Как вырезать кадр из AVI


3-47067
MsGuns
2002-06-20 21:15
2002.07.15
Answer by Paradox.


14-47755
Val
2002-06-12 12:39
2002.07.15
Дао Программирования


4-47878
Марина
2002-05-13 12:08
2002.07.15
GetUserName и Win95


3-47217
Fishka
2002-06-18 16:31
2002.07.15
Как вставить поле в DBF-файл в определенное место?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский