powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Preview для больших изображений
6 сообщений из 6, страница 1 из 1
Preview для больших изображений
    #32027922
AlexG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проблема состоит в следующем - есть большие изображения не менее 50 МБ каждое(предположительно BMP), задача - сохраняя их в БД например через DBGrid делать быстрый просмотр и поиск по реквизитам (например дата записи, автор...) в базе.

вопрос как лучще реализовать?
сам решил, что неплохо бы иметь дополнительное поле - preview (например в jpeg формате при необходимости уменьшеное), необходимо-ли это или есть другие методы?
и непример в Oracle есть способ BLOB поля сохранять во внешних файлах - даст-ли это заметный выйгрыш?
...
Рейтинг: 0 / 0
Preview для больших изображений
    #32028999
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ждал, может кто-то соображающий в этом вопросе больше, чем я ответит.
Сам я знаком с этой проблемой только теоретически, поэтому повторяю вычитанное мною из разных источников.

Столь большие изображения не рекомендуется хранить в базе данных. В базу заносится, как Вы совершенно правильно решили, preview в jpg, а в самой базе хранятся ПУТИ к изображениям.
...
Рейтинг: 0 / 0
Preview для больших изображений
    #32029000
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ждал, может кто-то соображающий в этом вопросе больше, чем я ответит.
Сам я знаком с этой проблемой только теоретически, поэтому повторяю вычитанное мною из разных источников.

Столь большие изображения не рекомендуется хранить в базе данных. В базу заносится, как Вы совершенно правильно решили, preview в jpg, а в самой базе хранятся ПУТИ к изображениям.
...
Рейтинг: 0 / 0
Preview для больших изображений
    #32117872
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>проблема состоит в следующем - есть большие изображения не менее 50 МБ

лучше не делать любая база быстро загнется.

храни preview 160x160, 800x600 jpeg
а большие картинки на диске
...
Рейтинг: 0 / 0
Preview для больших изображений
    #32118051
StarWind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один недостаток такого хранения (хотя у меня мнение что тоже лучше на диске хранить). Проблема безопасности. Пользователи должны иметь доступ на чтение с сетевого диска. Соответственно на все картинки. Либо более сложный вариант соотвественно уходящий от этой проблемы. СУБД считывает путь у себя, обращается на диск, читает от своего имяни файл, запихивает в блоб и возвращает результат. Как это сделать, зависит от конкретной СУБД. В Oracle есть возможность такая в пакетах, в IB можно написать UDF.
...
Рейтинг: 0 / 0
Preview для больших изображений
    #32119776
Alexander2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>проблема состоит в следующем - есть большие изображения не менее 50 МБ >каждое(предположительно BMP),

Поскольку bmp хорошо пакуется, надо искать компонент или что-то в этом роде, чтоб перед запихиванием в поле BLOB на сервер эту картинку запокавывать. Я слышал о таком механизме вроде на форуме Дельфи от Чертенка.
А потом когда надо показать - обратно распаковываешь в программе таким же способом и гонишь на TImage.


>задача - сохраняя их в БД например через DBGrid делать быстрый просмотр и >поиск по реквизитам (например дата записи, автор...) в базе.

Абсолютна такая же задача стоит! Надо же!
Сделал уже вставку картинки в ячейку грида, но если картинка более 100 килобайт, то грид не справляется, не нравится мне это.
Путь - либо еще меньше делать превьюшки, либо не загонять в ячейку грида.


>вопрос как лучще реализовать?
>сам решил, что неплохо бы иметь дополнительное поле - preview (например в >jpeg формате при необходимости уменьшеное), необходимо-ли это или есть >другие методы?

Приавильно решил, я тоже к такому пришел, только вначале возникла проблема КАК уменьшенный превью имаже делать. Не хотелось бы заставлять юзера включать внешнюю программу и там уменьшать картинку.
Посоветовали загнать картинку на компонент TImage с установленными размерами и считывать с него уже уменьшенное содержимое в буфер, а потом из буфера в поле таблицы. Пока не дошел до этого - с другим возился.

>и непример в Oracle есть способ BLOB поля сохранять во внешних файлах - >даст-ли это заметный выйгрыш?

Не советуют, сложно все это потом обеспечить согласование путей и названий файлов. Лучше все яйца в этом случае в одной корзине хранить!
Просто для страховки надо чаще-регулярно делать бекап такой базы и закатывать на перезаписываемый сидюк - и не страшны никакие сбои

Таким образом, к текстовым полям еще два поля PreViewImage, ZipImage

С уважением, Александр.
alexan2001@hotmail.com
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Preview для больших изображений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]