Хранение изображений в БД

Обсуждение вопросов импорта поддерживаемых форматов
Post Reply
andrey-k
Posts: 8
Joined: 27 Sep 2011, 00:36

Хранение изображений в БД

Post by andrey-k » 17 Nov 2011, 01:21

Имеется необходимость хранить в базе данных изображения, полученные экспортом из файлов различных форматов (dxf, dwg, svg, cgm и др.) и последующим редактированием. Изображения могут содержать растровые вставки (ImageEnt). Также необходима возможность дальнейшего экспорта любого изображения из БД в любой указанный выше формат. Очень желательно, чтобы одно изображение хранилось в одном блоб-поле, без отдельного хранения bmp-шек. Вопрос в том, существует ли какой-то "внутренний" формат представления данных, не завязанный на конкретный CAD-формат? Можно ли сохранять данные в том виде, в котором они хранятся в объектах TsgCADImage и TsgDXFConv? Можно ли использовать для этих целей метод WriteComponent() для объекта TsgDrawingNavigator? Возникнет ли при данном подходе проблема совместимости изображений, сохраненных разными версиями библиотеки? Может быть, посоветуете более рациональный подход к решению поставленной задачи?

support
Posts: 3253
Joined: 30 Mar 2005, 11:36
Contact:

Re: Хранение изображений в БД

Post by support » 18 Nov 2011, 16:57

Здравствуйте Андрей.
CAD Import/Export VCL библиотека использует TsgCADImage класс для создания новых чертежей. Импорт существующего чертежа должен быть выполнен в объект соответствующего класса потомка, например TsgDWGImage для DWG файлов. Перечисленные форматы имеют серьёзные различия в спецификации, которые не позволяют использовать какой-то внутренний унифицированный формат. Одно из различий касается хранения растрового изображения. CGM или HPGL файлы содержат растровое изображение, тогда как DWG и DXF содержат в примитиве ImageEnt только ссылку на внешний растровый файл. При экспорте из одного формата в другой происходит преобразование данных для обеспечения соответствия требованиям спецификации. Всвязи с этим можем порекомендовать хранение в базе данных различных форматов. Если обязательно нужен единый формат хранения, тогда рекомендуем DXF.
Пожалуйста обратите внимание, что экспорт в DWG формат библиотекой экспорта в настоящее время не предоставляется.
TsgDrawingNavigator это класс - графический контейнер для отображения импортированных CAD чертежей, никакой информации о структуре чертежа он не содержит.

Александр.
Technical Support E-mail: support@cadsofttools.com
Chat support on Skype: cadsofttools.support

Post Reply