Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.74/50: Рейтинг темы: голосов - 50, средняя оценка - 4.74
 Аватар для yuppi
12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293

Отображение картинки из базы данных

08.01.2015, 16:25. Показов 10658. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. У меня 2 вопроса. Помогите, пожалуйста.
1) Как сделать, чтобы при выборе одной из строк в DBGrid, в Image отображалось соответствующее изображение? В таблице БД я использую переменную BLOB (СУБД - Firebird). В данный момент я просто привязала картинку не из БД для наглядности.
2) Как сделать, чтобы при нажатии на Image картинка разворачивалась/открывалась/становилась большой? (Для красоты было бы неплохо, чтобы курсор превращался в лупу при наведении на изображение.)
Миниатюры
Отображение картинки из базы данных  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.01.2015, 16:25
Ответы с готовыми решениями:

Базы данных. Добавление полей. Выборочное отображение таблиц
Здравствуйте Дорогие Форумчане! За то время, что я читаю этот форум я узнала больше чем за 3 года обучения в колледже. Однако в...

Отображение картинки из базы данных
Из базы нужно выгрузить в строку картинку. Есть свой код отображения всей записи кроме картинки: <?php require...

Как осуществить отображение картинки из базы данных в отчете FastReport?
Доброго времени суток всем, помогите пожалуйста в следующем вопросе. База данных в Acess, работаю с ней через ADOQuery в Delphi ,...

20
Native x86
Эксперт Hardware
 Аватар для quwy
6859 / 3791 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
08.01.2015, 16:29
Цитата Сообщение от yuppi Посмотреть сообщение
Как сделать, чтобы при выборе одной из строк в DBGrid, в Image отображалось соответствующее изображение? В таблице БД я использую переменную BLOB (СУБД - Firebird). В данный момент я просто привязала картинку не из БД для наглядности.
Использовать компонент TDBImage, привязанный к соответствующему полю таблицы.

Цитата Сообщение от yuppi Посмотреть сообщение
Как сделать, чтобы при нажатии на Image картинка разворачивалась/открывалась/становилась большой?
Сделать еще одну форму с полноразмерной картинкой и открывать ее при клике на миниатюру.
1
 Аватар для yuppi
12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293
08.01.2015, 16:50  [ТС]
quwy, спасибо! А вы не могли бы хотя бы простенький пример привести, чтобы я могла разобраться как с DBImage работать?
0
Native x86
Эксперт Hardware
 Аватар для quwy
6859 / 3791 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
08.01.2015, 16:55
А что с ним работать? Выбрать в инспекторе объектов DataSource и DataField и все, DBImage будет отображать картинку их текущей записи автоматически. Вот только поддерживает он не все популярные форматы.
1
 Аватар для yuppi
12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293
08.01.2015, 17:05  [ТС]
quwy, у меня вот такая ошибка выходит, когда задаю DataField и пытаюсь откомпилировать. Формат изображения: GIF (черно-белый).
Миниатюры
Отображение картинки из базы данных  
0
Native x86
Эксперт Hardware
 Аватар для quwy
6859 / 3791 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
08.01.2015, 17:09
Это какая-то ошибка самого Delphi. Попробуйте сделать минимальный проект.
0
 Аватар для yuppi
12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293
08.01.2015, 17:51  [ТС]
quwy, попробовала два раза. Оба не получилось. В первый раз - я в DBGrid использовала таблицу, имеющую внешний ключ к таблице с чертежами. Во второй раз - в DBGrid я использовала саму таблицу с чертежами. "Ошибки Делфи" зато не выскакивало. А что надо указывать в DataField? Первичный ключ или имя столбца таблицы, который с картинками?
Миниатюры
Отображение картинки из базы данных   Отображение картинки из базы данных  
0
 Аватар для yuppi
12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293
08.01.2015, 18:11  [ТС]
Попробовала, в целях эксперимента, в DataField указать имя столбца с BLOB. Получила ошибку.
Миниатюры
Отображение картинки из базы данных  
0
Native x86
Эксперт Hardware
 Аватар для quwy
6859 / 3791 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
08.01.2015, 18:21
Цитата Сообщение от yuppi Посмотреть сообщение
Попробовала, в целях эксперимента, в DataField указать имя столбца с BLOB. Получила ошибку.
Стандартный TDBImage поддерживает только BMP. Если нужен GIF, то нужно или использовать альтернативные компоненты (например, TJvDBImage из библиотеки JVCL), или руками сохранять данные из BLOB-поля в поток, декодировать их специальными классами, а потом загружать в обычный TImage.
1
 Аватар для yuppi
12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293
08.01.2015, 18:54  [ТС]
quwy, пересохранила картинку в Paint'е как 16-цветный BMP. Изображения все равно нет. Хотела сделать как проще, да похоже если руки из одного места, просто не будет никогда. Не знаю, что уже делать
0
Native x86
Эксперт Hardware
 Аватар для quwy
6859 / 3791 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
08.01.2015, 19:12
yuppi, минимальное приложение, использующее TDBImage.
Вложения
Тип файла: zip dbimage.zip (7.2 Кб, 180 просмотров)
1
 Аватар для yuppi
12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293
08.01.2015, 19:35  [ТС]
quwy, у вас InterBase, да? Я суть поняла. Вроде все так делаю. Но... Попробую еще с размерами и форматами изображения что ли поколдовать.
Изображения
 
0
Эксперт Pascal/Delphi
 Аватар для droider
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
08.01.2015, 22:06
yuppi, изображение bmp?

В помощь Загрузка фотографий в DBImage (п. #12)
2
 Аватар для yuppi
12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293
09.01.2015, 01:15  [ТС]
droider, изначально было GIF. Потом перекодировала в BMP.
0
пофигист широкого профиля
4770 / 3206 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
09.01.2015, 01:28
Цитата Сообщение от yuppi Посмотреть сообщение
droider, изначально было GIF. Потом перекодировала в BMP.
Во-первых приложи файл с перекодированным изображением. Во-вторых покажи как ты его записала в БД.
0
 Аватар для Пытливый
3763 / 2271 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
09.01.2015, 02:01
Хранить в БД битмапы это конечно далеко не лучшее решение. Вообще-то можно было не перекодировать. Достаточно было просто подключить в секцию uses любой из нужных вам форматов (JPEG, PngImage, GIFImg) или сразу все три и тогда Image или DBImage должны их поддерживать.
0
пофигист широкого профиля
4770 / 3206 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
09.01.2015, 02:20
Цитата Сообщение от Пытливый Посмотреть сообщение
Достаточно было просто подключить в секцию uses любой из нужных вам форматов (JPEG, PngImage, GIFImg) или сразу все три и тогда Image или DBImage должны их поддерживать.
Давай не будем говорить за все версии Дельфи. А у ТС судя по скриншоту Д7. Если конечно он/она не нарыла на всемирной помойке проект сделанный в Д7, а сама работает в более современной версии Дельфи.

Добавлено через 2 минуты
Цитата Сообщение от Пытливый Посмотреть сообщение
Хранить в БД битмапы это конечно далеко не лучшее решение.
Хранить в БД картинки или хранить в БД ссылки на сторонние файлы с картинками это вообще ну очень давний холивар.
0
 Аватар для Пытливый
3763 / 2271 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
09.01.2015, 03:38
Хранить в БД картинки или хранить в БД ссылки на сторонние файлы с картинками это вообще ну очень давний холивар.
Причем тут ссылки, речь идет о более компактном формате например jpg и только-то.
А что касается D7, возможно с GIF я и погорячился, но вот PNG и JPG там поддерживаются вполне нормально.
0
Эксперт Pascal/Delphi
 Аватар для droider
4888 / 2822 / 865
Регистрация: 04.10.2012
Сообщений: 10,264
09.01.2015, 09:19
Пытливый, я уже приводил пример.
0
 Аватар для yuppi
12 / 4 / 1
Регистрация: 22.01.2012
Сообщений: 293
09.01.2015, 15:20  [ТС]
northener, прилагаю файл, перекодированный мной в BMP. Еще скриншоты сделала, как в IBExpert добавляла. На всемирной помойке проект не нарывала. Работаю в 7-й версии.
Миниатюры
Отображение картинки из базы данных   Отображение картинки из базы данных   Отображение картинки из базы данных  

Вложения
Тип файла: rar BMP.rar (73.0 Кб, 66 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.01.2015, 15:20
Помогаю со студенческими работами здесь

Отображение картинки на форме клиентского приложения из базы данных из поля OLE
ПРошу помочь начинающему. Есть клинское приложение связанное с базой данных в acceess. В базе данных есть поле ole там картинки. ...

Постолбцовое отображение данных из базы данных SQLite
Уважаемые форумчане, помогите пожалуйста. Необходимо вывести данные из таблицы базы данных в TextView. Вот код, когда в TextView...

Отображение базы данных
Здравствуйте сделал форму в C# и отобразил там базу данных аксес можно ли сделать так чтобы отображались не все строки, а те...

Отображение базы данных
Здравствуйте! ПОдскажите, какие варианты можно использовать для отоборажения базы данных. Допустим есть прайс. Таблица из дух колонок,...

Базы данных и картинки
Добрый утро, товарищи программисты, хотел бы узнать по теме 'Базы данных и картинки', завис на том, что проблема вывода изображение с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru