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

Вниз

LoadFromStream   Найти похожие ветки 

 
PURGEN   (2004-11-11 12:31) [0]

Как загрузить изображение ч/з image1.Picture.Bitmap.LoadFromStream(stream)??
Мне надо чтобы stream соответствовал некоторым байтами в середине файла IMAGES.DAT...
Как это получить....


 
Digitman ©   (2004-11-11 12:58) [1]


> надо чтобы stream соответствовал некоторым байтами в середине
> файла


это как ?

вообще-то stream - это экз-р класса-наследника TStream, а экз-р может соответствовать только самому себе и более ничему

может сподобишься таки пояснить, что это за "некоторые байты в середине", откуда они там взялись и какого рода инф-цию  хранят ?


 
PURGEN   (2004-11-11 13:12) [2]

Короче я сам не знаю че-такое ПОТОК..... Задача такая: хочу в Timage загрузить BMP, который я беру из файла IMAGES.dat. Этот файл это слияние двух bmp файлов ч/з NC (cntr+F10). Чето мне там сказали про поток а я ничего про это найти в сети не могу.. Может можно как-то подругому сделать... Короче мне надо вырезать "кусок" файла и загрузить его в TImage...вооот..


 
PURGEN   (2004-11-11 13:17) [3]

короче вот че мне написали:

если ты знаешь размер данных, то тебе несложно загрузить все данные в stream, а из него в image... readbuffer тебе поможет. Главное, в размерах не ошибиться

Че делать дальше не пойму... ну вобщем-то я не понимаю как "загрузить все данные в stream" а затем взять именно тот "кусок", который мне нужен....


 
Moiseev-KN ©   (2004-11-11 13:24) [4]

Mo;tn имеется ввиду использование функции Seek и Position?

procedure TfmOutline.bbLoadImageClick(Sender: TObject);
var Code: word;
   MS: TMemoryStream;
   Jpi: TJPEGImage;
   Bmp: TBitMap;
begin
 if od_1.Execute then
 begin
   MS := TMemoryStream.Create;
   MS.LoadFromFile(od_1.FileName);
   try
     MS.Seek(0,0);
     MS.Read(Code,SizeOf(Code));
     Bmp := TBitMap.Create;
     Jpi:=TJpegImage.Create;
     case Code of
     $4D42:
     begin
       MS.Position := 0;
       Bmp.LoadFromStream(MS);
       imgOutline.Picture.Assign(Bmp);
       ImgLoadedBmp := True;
       bbSaveToOutline.Enabled := True;
     end;
     $D8FF:
     begin
       MS.Position := 0;
       Jpi.LoadFromStream(MS);
       imgOutline.Picture.Assign(Jpi);
       ImgLoadedJpeg := True;
       bbSaveToOutline.Enabled := True;
     end;
   end;
   finally
     MS.Free;
     Jpi.Free;
   end;
 end;
end;


 
Digitman ©   (2004-11-11 13:45) [5]


> PURGEN


> файл это слияние двух bmp файлов


т.е. в этом файле таким немудреным макаром последовательно записаны два якобы правильных битмап-образа, из которых тебя интересует конкретно последний ..

я правильно понял ?

в таком случае последний (т.е. второй по счету) битмап считывается из потока до смешного простым способом :

for i:= 1 to 2 do
image1.Picture.Bitmap.LoadFromStream(stream);


 
PURGEN   (2004-11-11 14:59) [6]

Спасибо все работает.....


 
Digitman ©   (2004-11-11 15:14) [7]

ну и аминь.

но многоточие настораживает.



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

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

Наверх




Память: 0.48 MB
Время: 0.024 c
14-1100240303
Павел
2004-11-12 09:18
2004.11.28
Запуск delphi c другого компьютера.


14-1099310768
DeMoN-777
2004-11-01 15:06
2004.11.28
Wireless


8-1093505993
Andrey
2004-08-26 11:39
2004.11.28
распознование формата картинки


1-1100444283
bloodman
2004-11-14 17:58
2004.11.28
Как создать TWebBrowser в ран-тайм?


1-1100617819
W_h_i_t_e_
2004-11-16 18:10
2004.11.28
Как поместить свой элемент в группу "Отправить"