![]() |
|
|
![]()
|
|
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
Вот рабочий код с DBImage (без временных файлов и TImage - ей):
Будут какие-либо замечания, критика? Это сообщение отредактировал(а) Alca - 18.2.2009, 13:31 |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
||||
|
||||
| Alca |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
может кто-то нашел способ по-лучше, например, через стримы (всеж красивше)
отображается Это сообщение отредактировал(а) Alca - 18.2.2009, 15:13 |
||||
|
|||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
Есть замечания. Все то хорошо, но есть одно но. PNG-шная картинка вставляется в базу как BMP-шная.
Каритка test.PNG: - реальный вес составляет 135 КБ; - вес mdb-шника до вставки 220 КБ; - вес mdb-шника после вставки 4088 КБ; Так что код:
ничем не отличается от того так как если бы вставлялся BMP-файл. Т.е. идет преобразование PNG в BMP, что не есть гуд. Вопрос актуален. Здается мне, что DBImage не умеет курить PNG как он есть (Bitmap image is not valid.). Не умеет отображать PNG файлы. Это сообщение отредактировал(а) Alca - 18.2.2009, 17:36 |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Тогда попробуйте моим методом через потоки - не пользуя DBImage (Ну не люблю я этот контрол, что поделаешь!). По-моему должно получится - я всегда с JPEG работал, вроде реальный размер картинок в базу пихает (в смысле реально JPEG, а не BMP). C PNG также должно быть по идее...
|
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
Буду пробывать. Но что-то меня мучают мутные сомнения.
|
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
Как я и предполагал, DBImage не любит png-формат.
По этому могу предложить такой - достаточно простой - вариант - основанный на работе с полями таблицы на прямую. Для эксперимента использовал ADOConnection, ADOTable, DataSourse, DBImagе, DBGrid, OpenDialog с фильтром на *.png Сама БД имеет всего два поля - id(счетчик) и img(blob-поле) После подключения к БД - генерим поля таблицы - двойной клик по ADOTable - правый клик мышью - Add all fields. Появятся два объекта - ADOTableid и ADOTableimg DBImagе настраивать просто - DataSource - наш DataSourse, DataField - img Вот сам код вставки картинки
Все нормально сохраняется и просматривается. Собственно это можно сделать и с ADOQuery - только по умолчанию надо прописать в свойстве SQL "SELECT * FROM testtable" - поля будут генериться. |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
Я так уже делал. Картинка просматривается, но дело в том, что png-шка пинается в базу как bmp. BMP весит на много больше чем PNG. Посмотри размер Mdb-шника до и после вставки. |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
| Alca |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
??? Если ты это имел ввиду, то смысл? |
||||
|
|||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
Alca, неа. я про использование классов TZCommpressionStream/TZDecommpressionStream (из zlib.hpp - в Бормане 2009 включена)- достаточно бодрая и шустрая вещь
|
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
Ок гляну.
|
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
Осталось простенький примерчик нарыть.
|
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
Намек понятен - вот зацени - если понравится запакую проект Присоединённый файл ( Кол-во скачиваний: 24 )
arch.rar 294,54 Kb |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |