WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Картинки в БД

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Картинки в БД
Dimand опубликован 02-05-2001 21:49 MSK   Click Here to See the Profile for Dimand   Click Here to Email Dimand  
Как запихивать в БД графику? Я так понимаю это через переменную типа CLongBinary. А как ее связывать с CBitmap и надо ли? Объясните на конкретном примере (или дайте ссылку на него).
OlegN опубликован 03-05-2001 11:51 MSK     Click Here to See the Profile for OlegN  Click Here to Email OlegN     
В MSDN-e есть пример :
ShowDIB: Opening/Displaying Device Independent Bitmaps
В нем необходимо разобраться, но вместо чтения DIB-ов (.bmp файлов) из
файла, необходимо читать из области памяти,
в которую предварительно ты читаешь из BLOB(СLongBinary) поля БД, в которой находится изображение.
А "запихивать" (ну и словечко :-) bmp файлы в BLOB поле базы данных очень просто: читаешь
bmp файл в область памяти, а потом ее записываешь в поле БД. Если есть функции прямой записи файла в BLOB поле, то используй их.
Но это дилетантский (студенческий) подход.
Его недостатки :
1.Нельзя записывать изображения разных форматов (BMP, GIF, JPEG, TIFF, PNG) в одно поле БД.
2.В поле БД можно хранить только BMP файлы, которые не поддерживают эффективную компрессию изображения в отличие от (JPEG, GIF, PNG), что скажется на размерах БД.
3. Если изображение большое, то показать качественно в миниатюре, (судя по лексике твоего письма) ты не сможешь. Стандартная функция StretchDIBits работает медленно и
некачаственно в режиме уменьшения изображения.
4. Печать изображения (опять-же используя
стандартные GDI функции) будет хуже чем в Word-e, не говоря уже о сравнении с графическими редакторами.

Если ты делаешь коммерческий продукт,
то можешь сходить на страницу :
http://www.vimas.com/ve_image_sdk.htm,
но там SDK за деньги.
Или сам можешь накачать библиотек по чтению/обработке
изображений (они в inet-e есть) и если располагаешь 3-4 месяцами свободного времени,
то можешь слепить что-то свое,
которое будет и читать и рисовать быстро и качественно.

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.