Вниз
Скачать: 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.041 c
3-1099159192
SergP
2004-10-30 21:59
2004.11.28
Отображение номера записи в DBCtrlGrid


1-1100542950
тт
2004-11-15 21:22
2004.11.28
record?


3-1099021265
Геннадий
2004-10-29 07:41
2004.11.28
Что быстрее: WHERE IN ... или WHERE ... OR ... OR ...


1-1100268469
denis24
2004-11-12 17:07
2004.11.28
Изменения цвета окон встроенных диалогов


14-1100193273
Викусик
2004-11-11 20:14
2004.11.28
А у меня тоже задачка...




   Наверх