![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не могу вытащить картинку из BLOB поля [D7, Access]
CHTR © (2004-11-16 17:11:00)Собственно файл mdb. Как туда вставлялись картинки: на акцессовской форме лежит картинка. На ней кликали правой кнопкой, добавить объект, Из файла (JPG). Судя по размеру картинки в BMP. Вытаскиваю так:
procedure TForm1.Button1Click(Sender: TObject);
var Stream: TMemoryStream;
begin
Stream:= TMemoryStream.Create;
TBLOBField(q.FieldByName('photo')).SaveToStream(stream);
//stream.Position:=82;
stream.SaveToFile('c:\1.bmp');
Stream.Free;
end;
в итоге файл не распознается как BMP.
CHTR (2004-11-17 12:48:00) [1]Караул! 110 штук вытащил - в глазах рябит. Их еще обратно заталкивать.
CHTR (2004-11-17 09:54:00) [2]Не экспортирует (в excell)
Когда импортировал в MSSQL то все перенеслось как есть.
Придется по одной дергать, сохранять. Благо фоток немного 200шт.
Reindeer Moss Eater (2004-11-17 08:40:00) [3]Ты же не содержимое поля копируешь.
А что, во что превратил access это содержимое при отображении.
Сделай экспорт средствами самого access.
Задача-то разовая, как я понимаю.
CHTR (2004-11-17 07:57:00) [4]Еще такой момент: в access копирую картинкув буфер, захожу в фотошоп, создаю документ (автоматически фотошоп определяет размер)и вставляю: картина правильно отображается.
CHTR (2004-11-17 06:44:00) [5]BM нет вообще. А структура не похожа на Bitmap :(
Ученик (2004-11-16 22:14:00) [6]Предложение :-)
Данные картинки сохраняются в TMemoryStream (SaveToStream), по содержимому можно определить где начинаются данные картинки, например в базе Northwind.mdb картинки хранятся в BMP-формате, сам BMP начинается с 78 байта (первые буквы BM), возможно можно проще, но так оказалось быстрее.
CHTR (2004-11-16 17:44:00) [7]В заголовке: Фотография Photo Editor MSPhotoEd.3 \x1
CHTR (2004-11-16 17:43:00) [8]Раскладываю по полкам:
1. Оригинал: JPG 1.3мб
2. Файл который сохраняет мой код размером 7мб
Значит акцесс преобразовал оригинал. В че если не в BMP он мог преобразовать? Не в тифф же. Либо он в какой-то свой объект это все запихал. Кто нибудь знает как из этого поля картинку получить? Я конечно могу PrintScreen и в фотошоп. Но если честно хотелось бы по человечески.
CHTR (2004-11-16 17:39:00) [9]Я вот и спрашиваю может кто-нибудь расковыривал эти картинки которые акцесс сам заталкивает в базу?
Reindeer Moss Eater (2004-11-16 17:39:00) [10]В заголовок выгруженного файла посмотри.
Reindeer Moss Eater (2004-11-16 17:37:00) [11]А 7 мб файл это что? Точно BMP картинка фотиком делалась 3мп. В оригинале 1,3 мб.(JPG)
Для тебя JPG и BMP - это синонимы что ли?
Reindeer Moss Eater (2004-11-16 17:37:00) [12]Твой вопрос касается кода, сохраняющего имаджи в файл.
Поэтому бери DBDEMOS и тренируйся.
А то, что там у тебя и в каком формате лежит в access - совершенно иной вопрос.
Вопрос для отдельной ветки.
CHTR (2004-11-16 17:36:00) [13]А что?
CHTR (2004-11-16 17:36:00) [14]А 7 мб файл это что? Точно BMP картинка фотиком делалась 3мп. В оригинале 1,3 мб.(JPG)
Reindeer Moss Eater (2004-11-16 17:34:00) [15]Картинки исправны. В форме Access они работают
Но это не JPG и не BMP
Reindeer Moss Eater (2004-11-16 17:33:00) [16]Хороший вопрос.
Как вытащить картинку, если её там нет.
CHTR (2004-11-16 17:33:00) [17]Картинки исправны. В форме Access они работают
CHTR (2004-11-16 17:32:00) [18]Я хочу картинки все оттуда вытащить. Я прогу переношу на MSSQL. Базу перелил, а картинку на форму вытащить не могу. Или в файл. Их картинок-то немного 200-250 шт.
Reindeer Moss Eater (2004-11-16 17:32:00) [19]Отлаживать код "правильной выгрузки картинки" надо с заведомо "исправной" картинкой в поле.
Например из DBDEMOS
Reindeer Moss Eater (2004-11-16 17:30:00) [20]И чего же ты тогда хочешь?