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

Вниз

array --> TJpg. Это возможно?   Найти похожие ветки 

 
Ascan_   (2002-09-20 18:46) [0]

То, что картинку можно загрузить из файла, я знаю. А как обойтись без файла? Скажем, если я ее скачал с internet"а прямо в память, а теперь хочу с ней работать. И не люблю ничего писать на диск. Как скачать я разобрался. Но вот как ее теперь "запихнуть" в TJpg?


 
BOA_KAA   (2002-09-20 19:09) [1]

А в куда ты ее закачиваешь?


 
Алексей Ким   (2002-09-20 19:45) [2]

для стрима
var jpg: TJpegImage;
...
jpg.LoadFromStream ( MyStream );
...
так вроде... или не так?


 
BOA_KAA   (2002-09-20 19:54) [3]

Короче, уточнения, видимо, не будет:)))
Так что либо через стрим (Алексей Ким © (20.09.02 19:45)), либо через буфер аналогично. Других способов достать jpg я не видел


 
Алексей Ким   (2002-09-20 20:01) [4]

"...чукотское радио 79.99кГц 2 часа молчало...
- Передача для глухонемых окончена..."


 
Ascan_   (2002-09-23 13:15) [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);





 
MBo   (2002-09-23 13:24) [6]

загони в MemoryStream и JpegImage.LoadFromStream


 
Ascan_   (2002-09-23 13:37) [7]

Вот! Это я сейчас и пытаюсь сделать. С MemoryStream я пока еще не работал, но, думаю, разберусь...


 
Ascan_   (2002-09-23 14:43) [8]

Не получается... :-(

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 14:46) [9]

Все, разобрался! Всем спасибо!


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;



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

Форум: "Media";
Текущий архив: 2003.01.09;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.009 c
1-24947
karros
2002-12-26 16:27
2003.01.09
добавить пункт в поп-ап меню


1-24934
Calm
2002-12-26 12:19
2003.01.09
Как узнать имя класса окна чужой программы?


14-25029
trotski
2002-12-19 06:39
2003.01.09
Нужен гуру


1-24831
shane54
2002-12-26 20:48
2003.01.09
Вопрос по StringGrid


7-25106
Diamond Dog
2002-10-29 19:29
2003.01.09
Информация о железе





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский