Russian Qt Forum
Сентябрь 30, 2024, 20:18
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Как объединять две картинки по маске и генерировать эту маску?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Как объединять две картинки по маске и генерировать эту маску? (Прочитано 4000 раз)
Caduceus
Гость
Как объединять две картинки по маске и генерировать эту маску?
«
:
Сентябрь 23, 2010, 08:01 »
У меня есть некий View, на котором рисуется некая картинка. У меня есть две картинки - вот эта которая рисуется и точно такая же, тольько черно-белая.
На этот View можно Drag-n-Drop-ить некоторые объекты, но каждый объект можно стаскивать в какую-то конкртеную область картинки. Что я хочу. Я хочу при стаскивании объекта ту область, куда нельзя бросить объект, рисовать черно-белой (брать из существующей черно-белой картинки), а те области, куда можно броосить - оставлять цветными. Сложно еще в том, что эти области меняются постоянно - поэтому заранее маски черно-белых и цвтеных областей сделать нельзя.
В связи с этим у меня два вопроса:
1) Как программно генерировать такие маски?
2) Как совсбенно по маске и двум изображениям получить третье, суммарное по этим двум и маске?
Спасибо
Записан
Sancho_s_rancho
Гость
Re: Как объединять две картинки по маске и генерировать эту маску?
«
Ответ #1 :
Сентябрь 23, 2010, 08:59 »
Можно генерировать битовую карту, причем к каждому биту пусть будет указатель на фигуру. Проверяется точка, куда происходит перемещение или бросание объекта и в зависимости от состояния бита область делается ч/б или остается цветной.
ПИ СИ первое, что пришло в мою светлую голову.
Записан
Caduceus
Гость
Re: Как объединять две картинки по маске и генерировать эту маску?
«
Ответ #2 :
Сентябрь 23, 2010, 09:03 »
Что попиксельно бежать и проверять можно сюда бросать или нет и менять цвет? Тормозно будет
Записан
Sancho_s_rancho
Гость
Re: Как объединять две картинки по маске и генерировать эту маску?
«
Ответ #3 :
Сентябрь 23, 2010, 09:25 »
Цитата: Caduceus от Сентябрь 23, 2010, 09:03
Что попиксельно бежать и проверять можно сюда бросать или нет и менять цвет? Тормозно будет
Будет очень хорошо. Проверено
электроникой
Sancho_s_rancho.
Без шуток. Современные машины -- это мегамощая числодробилка и только современные программисты могут написать настолько кривой код, что она захлебнется.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Как объединять две картинки по маске и генерировать эту маску?
«
Ответ #4 :
Сентябрь 23, 2010, 10:16 »
Зарядить 2 QPixmap (цветную и черно-белую). Когда мышь наезжает, определить область и собрать из 2 QPixmap третью, вывести ее на экран.
С точки зрения "дызайна" - не очень удачно. Цветная и черно-белая могут быть (в каких-то местах) одинаковы. Смена картинки на черно-белую не очень интуитивна. Может лучше "fade" - или вообще ограничиться формой курсора
Записан
Caduceus
Гость
Re: Как объединять две картинки по маске и генерировать эту маску?
«
Ответ #5 :
Сентябрь 23, 2010, 10:19 »
Что есть fade?
Не, картинка цветная. Это не просто картинка - она мной же и сгенерирована, там вообще нету серых тонов.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Как объединять две картинки по маске и генерировать эту маску?
«
Ответ #6 :
Сентябрь 23, 2010, 10:48 »
Цитата: Caduceus от Сентябрь 23, 2010, 10:19
Что есть fade?
Выбираем какой-то цвет, напр благородный серый (192, 192, 192) и смешиваем этот фон с картинкой. Часто выглядит приятнее
Записан
Caduceus
Гость
Re: Как объединять две картинки по маске и генерировать эту маску?
«
Ответ #7 :
Сентябрь 23, 2010, 10:55 »
Ну хорошо, тогда вопрос - как замешать цветную картнку по маске с "благородным серым" и как эту маску сгенерировать, если я знаю регионы, куда можно бросать.
Попиксельная пробежка все же мне кажется кривым решением
Записан
ufna
Гость
Re: Как объединять две картинки по маске и генерировать эту маску?
«
Ответ #8 :
Сентябрь 23, 2010, 11:55 »
А рисовать поверх? или использовать технику "наложений"? QPainter - очень мощная система, гляньте QtDemo в "Arthur" отделении
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...