![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
array --> TJpg. Это возможно? [D6, Win2k]
Ascan_ © (2002-09-20 18:46:00)То, что картинку можно загрузить из файла, я знаю. А как обойтись без файла? Скажем, если я ее скачал с internet"а прямо в память, а теперь хочу с ней работать. И не люблю ничего писать на диск. Как скачать я разобрался. Но вот как ее теперь "запихнуть" в TJpg?
Ascan_ (2002-09-23 14:46:00) [1]Все, разобрался! Всем спасибо!
Stream := TMemoryStream.Create;
Stream.SetSize(fSize);
Stream.WriteBuffer(p^, fSize);
Stream.Position:= 0;
Jpg:= TJpegImage.Create;
Jpg.LoadFromStream(Stream);
Jpg.SaveToFile("c:\file2.jpg");
Jpg.Free;
Stream.Free;
Ascan_ (2002-09-23 14:43:00) [2]Не получается... :-(
Stream := TMemoryStream.Create;
Stream.SetSize(fSize);
Stream.WriteBuffer(p^, fSize);
Jpg:= TJpegImage.Create;
Jpg.LoadFromStream(Stream);
Jpg.SaveToFile("c:\file2.jpg");
Jpg.Free;
Stream.Free;
Создается пустой файл... В чем ошибка?
Ascan_ (2002-09-23 13:37:00) [3]Вот! Это я сейчас и пытаюсь сделать. С MemoryStreamя пока еще не работал, но, думаю, разберусь...
MBo (2002-09-23 13:24:00) [4]загони в MemoryStream и JpegImage.LoadFromStream
Ascan_ (2002-09-23 13:15:00) [5]Ребята не судите строго, Господа! Выходные...
>А в куда ты ее закачиваешь?
Ну, скажем, я закачиваю примерно так:
var
p: pointer;
hInet, hURL:HINTERNET;
Header:string;
ReadLen: longint;
begin
fSize:=0;
hInet := InternetOpen("Mozilla", PRE_CONFIG_INTERNET_ACCESS, nil, nil, 0);
Header:="Accept: */*";
hURL:= InternetOpenURL(hInet, PChar(<url>), pchar(Header), StrLen(pchar(Header)), 0, 0);
InternetQueryDataAvailable(hURL, fSize,0,0);
GetMem(p, fSize);
InternetReadFile(hURL, p, fSize, ReadLen);
InternetCloseHandle(hURL); InternetCloseHandle(hInet);
...
И вот тут я сижу и думаю: А что дальше?
...
FreeMem(p, fSize);
Алексей Ким (2002-09-20 20:01:00) [6]"...чукотское радио 79.99кГц 2 часа молчало...
- Передача для глухонемых окончена..."
BOA_KAA (2002-09-20 19:54:00) [7]Короче, уточнения, видимо, не будет:)))
Так что либо через стрим (Алексей Ким © (20.09.02 19:45)), либо через буфер аналогично. Других способов достать jpg я не видел
Алексей Ким (2002-09-20 19:45:00) [8]для стрима
var jpg: TJpegImage;
...
jpg.LoadFromStream ( MyStream );
...
так вроде... или не так?
BOA_KAA (2002-09-20 19:09:00) [9]А в куда ты ее закачиваешь?