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

Вниз

как сохранить картинку в файл   Найти похожие ветки 

 
v1keeee   (2008-12-25 21:26) [0]

Здравствуйте! Помогите пожалуста в вопросе: я пишу программку типа базы данных для хранения и обработки данных использую записть типа

type
 Info = record
    FIO : char[10];
    ... {еще данные}
    foto: char[256]; // <---- вот тут вопрос {не знаю что делать}

вопрос: как сохранить картинку jpg формата в базу данных (файл типа text или byte) чтобы потом прочитать из этой базы методом BlockRead еще и картинку которую сохранил вместе с основными данными?

P.S. Может как нить представить картинку в виде последовательности байт и записывать? только я не знаю как :(


 
Правильный$Вася   (2008-12-25 21:33) [1]


> Может как нить представить картинку в виде последовательности байт

она такая и есть
SaveToStream


 
v1keeee   (2008-12-25 21:38) [2]


> она такая и естьSaveToStream

Извеняюсь если чегото может недопонимаю.. а у какого свойства вызывать этот метод? У image1.picture "SaveToStream" нету :( просто у image1 тоже нету


 
v1keeee   (2008-12-25 21:47) [3]

Еще вот наблюдаю такое: если на компоненте image c загруженной в нем картинкой щелкнуть правой кнопкой мыши и выбрать пункт View as Text
то появляется вот это:

object Image1: TImage
   Left = 16
   Top = 8
   Width = 297
   Height = 286
   Picture.Data = {0A544A504547496D61676511730000F
                       .....
    325D8614C2FF000747F3F0EEBFF003
    000000050012010300010000000100}
   end

получается что в свойстве Picture.Data содержится представление картинки в виде последовательности байт? каким образом это можно получить в переменную типа char или byte чтобы сохранить в файле и потом прочитать с другими данными?


 
Johnmen ©   (2008-12-25 22:00) [4]

SaveToFile+F1 для TGraphic, TBitmap, TIcon и примеры есть...


 
v1keeee   (2008-12-25 22:09) [5]


> SaveToFile+F1 для TGraphic, TBitmap, TIcon и примеры есть.
> ..

пардон, не понял...
Мне нужно записывать функцией BlockWrite запись содержащую поле в виде картинки jpg формата в файл...


 
Johnmen ©   (2008-12-25 22:14) [6]

Да какая разница, что за данные в записи??? Пиши БлокРайтом и всё...


 
Правильный$Вася   (2008-12-25 22:22) [7]


> Да какая разница, что за данные в записи??? Пиши БлокРайтом
> и всё...

разница есть
блоки фиксированной длины, а файлы - произвольной
поэтому сохранить запись в поток, в уж потом блокрайтом


 
Johnmen ©   (2008-12-25 22:25) [8]


> блоки фиксированной длины

И что? Это чему-то мешает?


 
v1keeee   (2008-12-25 22:29) [9]


> поэтому сохранить запись в поток, в уж потом блокрайтом

щас буду пробовать ^-^


 
Johnmen ©   (2008-12-25 22:31) [10]


> щас буду пробовать ^-^

Чушь пробованию не поддается. Это так, к слову...


 
v1keeee   (2008-12-25 22:31) [11]

а какого типа stream создовать чтобы picture.graphic туда засунуть? TMemoryStream или какой?


 
Сергей М. ©   (2008-12-26 08:46) [12]

TMemoryStream (если картинка сравнительно небольшая) или TFileStream (для картинки произвольного размера)


 
Сергей М. ©   (2008-12-26 08:48) [13]


> типа базы данных для хранения и обработки
> данных использую записть типа


Все уже до тебя написано, осталось только воспользоваться готовым - см. TClientDataSet


 
v1keeee   (2008-12-26 09:33) [14]


> TMemoryStream (если картинка сравнительно небольшая) или
> TFileStream (для картинки произвольного размера)

спасиба


 
Виталий Панасенко   (2008-12-26 10:36) [15]

я бы рекомендовал использовать нетипированный файл... записать заголовок(Info=record), далее размер данных картинки и собственно данные


 
v1keeee   (2008-12-26 11:38) [16]


> я бы рекомендовал использовать нетипированный файл... записать
> заголовок(Info=record), далее размер данных картинки и собственно
> данные

вот терь я сам понял чего хотел ))


>  и собственно данные

а данные получить из потока так получается?


 
Виталий Панасенко   (2008-12-26 12:47) [17]

BlockWrite/BlockRead с потоками не работает, насколько я знаю



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

Форум: "Базы";
Текущий архив: 2009.11.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.042 c
15-1254472377
@!!ex
2009-10-02 12:32
2009.11.29
Как работает Hamachi?


15-1254400228
Kerk
2009-10-01 16:30
2009.11.29
Предлагаю наш ОМОН послать учиться в США, демократичнее надо быть


15-1254375904
VladOfMonster
2009-10-01 09:45
2009.11.29
Где найти значки для панели инструментов


2-1255524766
MonoLife
2009-10-14 16:52
2009.11.29
"Чужое" окно.


8-1199292139
aaaone
2008-01-02 19:42
2009.11.29
полупрозрачные окна. проблема прорисовки контролов.





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