Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.035 c
10-1067248300
Erik
2003-10-27 12:51
2004.11.28
Как происходит обновление DataSet провайдером?


1-1100164056
freeman82
2004-11-11 12:07
2004.11.28
объекты и память


1-1100599317
Брат
2004-11-16 13:01
2004.11.28
Динамическое создание формы


1-1099653949
clampo
2004-11-05 14:25
2004.11.28
Шрифт из папки


8-1094074341
zero-g
2004-09-02 01:32
2004.11.28
Строка состояния в видео проигрывателе




   Наверх