![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Мастера, есть вопрос по WebBrowser [D6, D7, WinXP]
KirGus © (2004-11-12 08:02:00)Как сохранить нужную картинку с WebBrowser'a и запустить ее в WebBrowser'е ?
===
Не предлагать варианты, завязанные с адресом картинки !
Opilki_Inside (2005-01-20 12:24:00) [1]
> А у картинки для этого есть заголовок. Читай первые 3-4
> байта и определяй формат
Но в буфере обмена она всё равно хранится в bmp? Допустим, картинка имеет формат jpg, после того как я вставлю ее из буфера обмена в какой-то свой массив и сохраню ее как jpg потеряется ведь качество, неговоря уж о контрольной сумме файла. А хотелось бы непосредственно сохранить на жесткий диск всё в первозданном виде.
Может быть всё таки можно её "Сохранить как..." ? Я пробывал, но не получилось.
Opilki_Inside (2005-01-20 12:24:00) [2]
> А у картинки для этого есть заголовок. Читай первые 3-4
> байта и определяй формат
Но в буфере обмена она всё равно хранится в bmp? Допустим, картинка имеет формат jpg, после того как я вставлю ее из буфера обмена в какой-то свой массив и сохраню ее как jpg потеряется ведь качество, неговоря уж о контрольной сумме файла. А хотелось бы непосредственно сохранить на жесткий диск всё в первозданном виде.
Может быть всё таки можно её "Сохранить как..." ? Я пробывал, но не получилось.
Rouse_ (2005-01-20 09:55:00) [3]> Но при помещении картинки в буфер обмена теряется ее формат (jpg, bmp, gif).
А у картинки для этого есть заголовок. Читай первые 3-4 байта и определяй формат
Seeker (2005-01-19 16:50:00) [4]KirGus
По другому не получается(если нельзя загрузить картинку на прямую)
ps:регистрилку пишешь?
Opilki_Inside (2005-01-18 13:29:00) [5]Очень интересная идея. Но при помещении картинки в буфер обмена теряется ее формат (jpg, bmp, gif). Плюс ко всему, возможны конфликты, если несколько программ, одновременно будут сохранять картинки с разных сайтов... Я пробывал использовать команду SaveAs, но то ли я с ней не разобрался, то ли она не позволяет сохранять картинки.
Может быть у кого нибудь есть какие либо идеи и он не прочь с ними поделиться?
Тема-то действительно актуальна и многие интересуются...
easy (2004-11-12 11:17:00) [6]
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.
Ш-К (2004-11-12 10:04:00) [7]Никак. Только через вызовы диалога или обращение к адрессу/кешу.