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

Вниз

Потоки и картинки, картинки и потоки...   Найти похожие ветки 

 
SkyQuake   (2002-07-04 20:17) [0]

Я уже, похоже толком заколебал своими потоками и картинками, но вот незадача, пишу:

var Buf: Pointer
...
MStream:= TMemoryStream.Create;
Image1.Picture.LoadFromFile("picture.bmp");
Image1.Picture.Graphic.SaveToStream(MStream);
MStream.Position:=0;
GetMem(Buf,MStream.Size);
MStream.Read(Buf^,MStream.Size);
// Теперь я хочу поместить Buf^ опять в поток и загрузить в картинку
MStream.Clear;
MStream.Write(Buf^,Length(string(Buf)));
asd:=MStream.Size;
ShowMessage(IntToStr(asd));
Image2.Picture.Bitmap.LoadFromStream(MStream);

И Image2 пуст. Зараза:(


 
MBo   (2002-07-04 20:55) [1]

Раз уж ты не хочешь хранить объем данных в отдельной переменной, сделай так

var S: String;
...
MStream:= TMemoryStream.Create;
Image1.Picture.LoadFromFile("picture.bmp");
Image1.Picture.Graphic.SaveToStream(MStream);
MStream.Position:=0;
SetLength(S,MStream.Size);
MStream.Read(S[1],MStream.Size);
MStream.Clear;
MStream.Write(S[1],Length(S));
Image2.Picture.Bitmap.LoadFromStream(MStream);


а это: Length(string(Buf)) даже комментировать не хочется

btw: об Assign слышал?


 
SkyQuake   (2002-07-04 22:58) [2]

> MBo
И попробывал, а кртинка на Image2 так и не появилась :(


 
SkyQuake   (2002-07-04 23:19) [3]

Блин. Всего то навсего надо было поставить:
MStream.Position:=0;

перед
Image2.Picture.Bitmap.LoadFromStream(MStream);


 
kull   (2002-07-05 01:11) [4]

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


 
MBo   (2002-07-05 06:21) [5]

>SkyQuake
про Position тоже верно, но маразм Length(string(Buf)) ты все-таки не используй.

>kull
В AnsiString можно хранить любые двоичные данные, Length записана независимо, и нули в середине строки ей не помешают, они играют роль лишь при преобразовании в PChar



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

Форум: "Основная";
Текущий архив: 2002.07.18;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.005 c
1-58218
SkyQuake
2002-07-04 20:17
2002.07.18
Потоки и картинки, картинки и потоки...


14-58298
Sergey13
2002-06-21 11:32
2002.07.18
Предложение по организации форума


1-58047
nitro313
2002-07-08 03:21
2002.07.18
Мастаки помогите! Не могу сам дойти...


14-58266
IronHawk
2002-06-10 02:30
2002.07.18
Что день грядущий нам готовит .......


6-58246
Dark_uralpost
2002-02-28 11:21
2002.07.18
uupc





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