Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
2 / 2 / 0
Регистрация: 03.06.2012
Сообщений: 56

Работа с BMP

25.06.2015, 18:25. Показов 4183. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Требуется написать просмотрщик bmp с возможностью приближения и пролистывания картинки. Подскажите схему реализации данной задачи. Спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.06.2015, 18:25
Ответы с готовыми решениями:

Работа с bmp не используя стандартные методы Qt
Необходимо разобрать bmp файл не используя методы Qt (QImage, QPainter). Суть такова на входе есть bmp файл его надо считать и получить...

Qt и bmp
Существуют ли готовые средства Qt, позволяющие редактировать bmp файлы? В примерах нашел только просмотр и сохранение в другом формате....

QIcon и BMP
Здравствуйте. Возможно ли в свойство Icon кнопки pushbutton засунуть bmp-файл? Bmp-файл хорош тем, что есть возможность использовать...

27
 Аватар для alexey_rage
596 / 396 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
26.06.2015, 15:19
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Avazart Посмотреть сообщение
Да также работают, как оно может отличатся?
ОК. Как мы можем сделать масштабирование QImage
Есть метод QImage::scaled()
Возвращает отмасштабированное изображение.
Нам нужно взять исходное изображение QImage, вызвать метод scaled() и сохранить полученное в другой QImage, который мы уже будем непосредственно отрисовывать на виджете.
При этом исходное изображение нужно либо постоянно хранить в памяти, либо каждый раз загружать из файла.
Это будет работать быстро?

Либо один раз создаем сцену и добавляем QGraphicsPixmapItem.
А дальше мы просто вызываем метод QGraphicsView::scale() и больше ничего не нужно делать.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.06.2015, 15:22
Цитата Сообщение от alexey_rage Посмотреть сообщение
При этом исходное изображение нужно либо постоянно хранить в памяти,
А как это может быть иначе? Ясное дело что исходное изображение должно хранится в памяти что бы можно было "откатить" изменения.
0
 Аватар для alexey_rage
596 / 396 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
26.06.2015, 15:23
Цитата Сообщение от Avazart Посмотреть сообщение
Потому что стоит понимать для чего предназначены те или иные компоненты.
Не помню, чтобы где-то в документации было написано, что классы QGraphicsView и QGraphicsScene не рекомендуется использовать для отрисовки BMP в окне виджета.

Добавлено через 41 секунду
Цитата Сообщение от Avazart Посмотреть сообщение
А как это может быть иначе?
Я написал как может быть иначе!
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.06.2015, 15:24
Цитата Сообщение от alexey_rage Посмотреть сообщение
А дальше мы просто вызываем метод QGraphicsView::scale() и больше ничего не нужно делать.
Цитата Сообщение от Avazart Посмотреть сообщение
Зато другое поведение айтемов присущее айтемам, нужно будет думать как "погасить".
Перетаскивание, выделение итп.
Цитата Сообщение от alexey_rage Посмотреть сообщение
Я написал как может быть иначе!
Это не означает что то что вы описали работает иначе.
0
 Аватар для alexey_rage
596 / 396 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
26.06.2015, 15:28
Цитата Сообщение от Avazart Посмотреть сообщение
Перетаскивание, выделение итп.
Перетаскивание и выделение итак по умолчанию "погашено"
Эти опции включаются с помощью специальных флагов.
0
 Аватар для alexey_rage
596 / 396 / 79
Регистрация: 23.10.2013
Сообщений: 1,143
26.06.2015, 15:53
Реализация с помощью QGraphicView, QGraphicsScene и QGraphicsPixmapItem
Чтобы это написать, мне понадобилось ровно 17 минут
Вложения
Тип файла: rar ImagesViewer.rar (2.6 Кб, 7 просмотров)
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
27.06.2015, 18:49
Если наброском то как-то так:
Вложения
Тип файла: zip ImagesViewer.zip (3.80 Мб, 4 просмотров)
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
27.06.2015, 20:29
А вообще, если нужна прокрутка Image Viewer Example
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.06.2015, 20:29

QGraphicsView отобразить bmp
Приветствую. На форме есть компонент QGraphicsView Имя - CustomerPhotoGraphicsView Нужно отобразить там картинку из БД. Код...

Рисование BMP файла на QImage
Вообщем рисую bmp файл на QImage: QImage tmp(width, height, QImage::Format_RGB666); for (int j=0; j<height;++j) ...

bmp как items в listwidget
Добрый вечер! Хочу вывести в ListWidget заранее неизвестное количество bmp (столько, сколько находится в папке) с указанием имени файла....

Работа с BMP-файлами (класс "8 битное BMP изображение)
Написать класс "8 битное BMP изображение".Класс должен содержать 3 конструктора: конструктор по умолчанию, конструктор с параметрами и...

Работа с BMP
Занес файл 1.bmp в массив var a: array of TRGBTriple; bmp: TBitMap; size: dword; begin bmp:=TBitMap.Create; ...


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

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru