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

Вниз

Мастера, есть вопрос по WebBrowser   Найти похожие ветки 

 
KirGus ©   (2004-11-12 08:02) [0]

Как сохранить нужную картинку с WebBrowser"a и запустить ее в WebBrowser"е ?
===
Не предлагать варианты, завязанные с адресом картинки !


 
Ш-К   (2004-11-12 10:04) [1]

Никак. Только через вызовы диалога или обращение к адрессу/кешу.


 
easy ©   (2004-11-12 11:17) [2]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, OleCtrls, SHDocVw, mshtml, activex;

type
 TForm1 = class(TForm)
   WebBrowser1: TWebBrowser;
   WebBrowser2: TWebBrowser;
   procedure FormCreate(Sender: TObject);
   procedure WebBrowser1DocumentComplete(Sender: TObject;
     const pDisp: IDispatch; var URL: OleVariant);
   procedure WebBrowser2DocumentComplete(Sender: TObject;
     const pDisp: IDispatch; var URL: OleVariant);
 private
   { Private declarations }

 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 WebBrowser1.Navigate("http://delphimaster.ru");
 WebBrowser2.Navigate("about:blank");
end;

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
 const pDisp: IDispatch; var URL: OleVariant);
var
 i: integer;
 body, imgs, controlRange: olevariant;
begin
 body := WebBrowser1.OleObject.document.body;
 imgs := WebBrowser1.OleObject.document.all.tags("IMG");
 controlRange := body.createControlRange;
 for i := 0 to imgs.length - 1 do begin
   controlRange.add(imgs.item(i));
   controlRange.execCommand("Copy", False, EmptyParam);
   WebBrowser2.ExecWB(OLECMDID_PASTE, 0);
 end;
end;

procedure TForm1.WebBrowser2DocumentComplete(Sender: TObject;
 const pDisp: IDispatch; var URL: OleVariant);
begin
 WebBrowser2.OleObject.document.body.contentEditable := true;
end;

initialization
 OleInitialize(nil);

finalization
 OleUninitialize;
end.


 
Opilki_Inside ©   (2005-01-18 13:29) [3]

Очень интересная идея. Но при помещении картинки в буфер обмена теряется ее формат (jpg, bmp, gif). Плюс ко всему, возможны конфликты, если несколько программ, одновременно будут сохранять картинки с разных сайтов... Я пробывал использовать команду SaveAs, но то ли я с ней не разобрался, то ли она не позволяет сохранять картинки.

Может быть у кого нибудь есть какие либо идеи и он не прочь с ними поделиться?

Тема-то действительно актуальна и многие интересуются...


 
Seeker ©   (2005-01-19 16:50) [4]

KirGus
По другому не получается(если нельзя загрузить картинку на прямую)
ps:регистрилку пишешь?


 
Rouse_ ©   (2005-01-20 09:55) [5]

> Но при помещении картинки в буфер обмена теряется ее формат (jpg, bmp, gif).
А у картинки для этого есть заголовок. Читай первые 3-4 байта и определяй формат


 
Opilki_Inside ©   (2005-01-20 12:24) [6]


> А у картинки для этого есть заголовок. Читай первые 3-4
> байта и определяй формат


Но в буфере обмена она всё равно хранится в bmp? Допустим, картинка имеет формат jpg, после того как я вставлю ее из буфера обмена в какой-то свой массив и сохраню ее как jpg потеряется ведь качество, неговоря уж о контрольной сумме файла. А хотелось бы непосредственно сохранить на жесткий диск всё в первозданном виде.

Может быть всё таки можно её "Сохранить как..." ? Я пробывал, но не получилось.


 
Opilki_Inside ©   (2005-01-20 12:24) [7]


> А у картинки для этого есть заголовок. Читай первые 3-4
> байта и определяй формат


Но в буфере обмена она всё равно хранится в bmp? Допустим, картинка имеет формат jpg, после того как я вставлю ее из буфера обмена в какой-то свой массив и сохраню ее как jpg потеряется ведь качество, неговоря уж о контрольной сумме файла. А хотелось бы непосредственно сохранить на жесткий диск всё в первозданном виде.

Может быть всё таки можно её "Сохранить как..." ? Я пробывал, но не получилось.



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

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

Наверх




Память: 0.48 MB
Время: 0.054 c
14-1109435780
Narik
2005-02-26 19:36
2005.03.20
Можно ли на Delphi создать приложение *.scr?


3-1108481336
Dell3r
2005-02-15 18:28
2005.03.20
Удаление индексов


3-1108884718
UVV
2005-02-20 10:31
2005.03.20
Получение обновлённых данных


1-1110012098
Kolan
2005-03-05 11:41
2005.03.20
Работа с дин массивом


1-1110188134
Checist [root]
2005-03-07 12:35
2005.03.20
TEdit