Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

картинка в виде последовательности байт [D7, WinXP]


inviz ©   (2008-12-27 14:46:00) 

Добрый день! Скажите как можно представить картинку в виде последовательности байт чтобы записать в файл и потом считать?
не image1.Picture.Graphic.LoadFromStream(); а в массив байт например

var
    img:array[0..65535] of byte


вот в img считать методом FileRead()и отобразить
и если нада записать потом в файл функцией FileWrite?
Подскажите пожалуста! если можно небольшой код приведите а то я не специалист по потокам и работой с файлами в Delphi
Заранее спасибо! :)


KilkennyCat   (2009-05-23 03:29:00) [1]


> Sergey   (20.05.09 02:01) [10]

Здесь вполне достаточно информации. что именно непонятно?
P.S.
Обрати внимание на дату ветки. ты думаешь, что вероятность положительного ответа на запрос полного кода достаточно высока?


Sergey   (2009-05-20 02:01:00) [2]

можно весь полный код пожалуйста


CrytoGen   (2008-12-29 08:32:00) [3]

может без файла сразу SetBitmapBits?


inviz   (2008-12-27 20:25:00) [4]


> Более того, ты можешь делать все в одном файле. то есть,
>  в начале файла записать buff:Tdata, где описано то, что
> хранится в оставшейся части файла.


ага ^-^


KilkennyCat   (2008-12-27 19:40:00) [5]

Более того, ты можешь делать все в одном файле. то есть, в начале файла записать buff:Tdata, где описано то, что хранится в оставшейся части файла.


inviz   (2008-12-27 16:45:00) [6]

Блин меня осенило!!! :) можно ведь записать в buff.imgdataне последовательность байт изображения а позицию с которого прочитать данные с файла!!! :))
SaperskyСпасиба за код! :)


inviz   (2008-12-27 15:57:00) [7]


> Или нужно обязательно через array[0..65535] of byte?

ну у меня имеется запись:

Tdata = record
 imgname : array[0..15] of char;
 imgdata  : array[0..65535] of byte;
end;
                                 // в общем размерность записи составляет  65552 байт
                                 // так получается? :)
                                 // ну вот я и делаю следующее (пытаюсь :))
var
    f:integer;
    buff:Tdata;
begin
f := Fileopen('C:\1.db',fmOpenReadWrite);
buff.imgname := 'изображение 1';
buff.imgdata  :=                           // вот тут то и проблемка :))



короче когда я получу картинку из image1 как последовательность байт в
buff.imgdata (65536 байт), то запишу buff.imgdata способом
filewrite(f,buff.imgdata,65536);

у меня в голове то это работает давно уже :))
а вот как реализовать и получить картинку в buff.imgdata не знаю :((


KilkennyCat   (2008-12-27 15:40:00) [8]


> через array[0..65535] of byte


много картинок не влезет :)


Sapersky   (2008-12-27 15:36:00) [9]

мне последовательность байт полученую из image нада записать в файл например с 256 позиции или с 485 позиции

TFileStream.Seek(256, 0);
TBitmap(TGraphic).SaveToStream

Или нужно обязательно через array[0..65535] of byte?


inviz   (2008-12-27 15:02:00) [10]


> LoadFromFile
> SaveFromFile

нееет мне последовательность байт полученую из image нада записать в файл например с 256 позиции или с 485 позиции


KilkennyCat   (2008-12-27 14:56:00) [11]

LoadFromFile
SaveFromFile


Наверх

Титульная страница Поиск, карта сайта Написать письмо