Главная страница
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.036 c
1-1100170567
Fynjy1984
2004-11-11 13:56
2004.11.28
Графики


14-1100261649
Кирилл
2004-11-12 15:14
2004.11.28
Приложение и система


3-1098919357
Wital
2004-10-28 03:22
2004.11.28
Change ADO Langdriver Paradox


14-1100386986
blackweber
2004-11-14 02:03
2004.11.28
Втроенная сетевуха не определяется Linux RedHat 9.0 HELP!!!!


14-1100175385
Aleksandr.
2004-11-11 15:16
2004.11.28
Как защитить свою dll?