Название: Как объединять две картинки по маске и генерировать эту маску? Отправлено: Caduceus от Сентябрь 23, 2010, 08:01 У меня есть некий View, на котором рисуется некая картинка. У меня есть две картинки - вот эта которая рисуется и точно такая же, тольько черно-белая.
На этот View можно Drag-n-Drop-ить некоторые объекты, но каждый объект можно стаскивать в какую-то конкртеную область картинки. Что я хочу. Я хочу при стаскивании объекта ту область, куда нельзя бросить объект, рисовать черно-белой (брать из существующей черно-белой картинки), а те области, куда можно броосить - оставлять цветными. Сложно еще в том, что эти области меняются постоянно - поэтому заранее маски черно-белых и цвтеных областей сделать нельзя. В связи с этим у меня два вопроса: 1) Как программно генерировать такие маски? 2) Как совсбенно по маске и двум изображениям получить третье, суммарное по этим двум и маске? Спасибо Название: Re: Как объединять две картинки по маске и генерировать эту маску? Отправлено: Sancho_s_rancho от Сентябрь 23, 2010, 08:59 Можно генерировать битовую карту, причем к каждому биту пусть будет указатель на фигуру. Проверяется точка, куда происходит перемещение или бросание объекта и в зависимости от состояния бита область делается ч/б или остается цветной.
ПИ СИ первое, что пришло в мою светлую голову. Название: Re: Как объединять две картинки по маске и генерировать эту маску? Отправлено: Caduceus от Сентябрь 23, 2010, 09:03 Что попиксельно бежать и проверять можно сюда бросать или нет и менять цвет? Тормозно будет
Название: Re: Как объединять две картинки по маске и генерировать эту маску? Отправлено: Sancho_s_rancho от Сентябрь 23, 2010, 09:25 Что попиксельно бежать и проверять можно сюда бросать или нет и менять цвет? Тормозно будет Будет очень хорошо. Проверено Без шуток. Современные машины -- это мегамощая числодробилка и только современные программисты могут написать настолько кривой код, что она захлебнется. Название: Re: Как объединять две картинки по маске и генерировать эту маску? Отправлено: Igors от Сентябрь 23, 2010, 10:16 Зарядить 2 QPixmap (цветную и черно-белую). Когда мышь наезжает, определить область и собрать из 2 QPixmap третью, вывести ее на экран.
С точки зрения "дызайна" - не очень удачно. Цветная и черно-белая могут быть (в каких-то местах) одинаковы. Смена картинки на черно-белую не очень интуитивна. Может лучше "fade" - или вообще ограничиться формой курсора Название: Re: Как объединять две картинки по маске и генерировать эту маску? Отправлено: Caduceus от Сентябрь 23, 2010, 10:19 Что есть fade?
Не, картинка цветная. Это не просто картинка - она мной же и сгенерирована, там вообще нету серых тонов. Название: Re: Как объединять две картинки по маске и генерировать эту маску? Отправлено: Igors от Сентябрь 23, 2010, 10:48 Что есть fade? Выбираем какой-то цвет, напр благородный серый (192, 192, 192) и смешиваем этот фон с картинкой. Часто выглядит приятнее Название: Re: Как объединять две картинки по маске и генерировать эту маску? Отправлено: Caduceus от Сентябрь 23, 2010, 10:55 Ну хорошо, тогда вопрос - как замешать цветную картнку по маске с "благородным серым" и как эту маску сгенерировать, если я знаю регионы, куда можно бросать.
Попиксельная пробежка все же мне кажется кривым решением Название: Re: Как объединять две картинки по маске и генерировать эту маску? Отправлено: ufna от Сентябрь 23, 2010, 11:55 А рисовать поверх? или использовать технику "наложений"? QPainter - очень мощная система, гляньте QtDemo в "Arthur" отделении
|