![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 15.10.2012
Сообщений: 14
|
![]()
доброго времени суток
возникла потребность сделать так, чтобы на пикчербоксе 2 пересекающихся круга были прозрачны друг для друга, но не прозрачны для фона. то есть, если круги имеют синий и красный цвета, область их пересечения имеет цвет фиолетовый, но черный, например, фон не вносит никаких искажений в цветовую гамму. пока что пробовал через альфа-компоненту, но тогда фон влияет. есть ли какие-то ещё варианты? стандартные свойства пикчербокса? или придется вручную пересчитывать каждый пиксель? |
![]() |
![]() |
![]() |
#2 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
Кинь как пробовал (проект архивом), поглядим, поколдуем.
Пока, думаю, можно попробовать System.Drawing.Drawing2D.ColorBlend |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 15.10.2012
Сообщений: 14
|
![]()
делается это следующим образом:
Код:
изображение - как сейчас всё выглядит с Drawing2D.Blend сейчас погуглю, как получу какой-нибудь результат - расскажу |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 15.10.2012
Сообщений: 14
|
![]()
прошу прощения, забыл указать значения, которые загружаются, так сказать, по умолчанию
фон (97, 97, 97) красный (102, 1, 0) синий (0, 88, 100) |
![]() |
![]() |
![]() |
#5 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
Это всё супер, но я не смогу ничего посмотреть без архива проекта. Ни времени нет собирать его с нуля, ни желания разбираться потом в чём же могут быть отличия между проектами и не закралась ли из-за различий ошибка.
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 15.10.2012
Сообщений: 14
|
![]()
это часть большого проекта, весь его кинуть не могу, к сожалению(
вытащил кусок кода, свойства проектов идентичные, подключенные библиотеки тоже .NET 3.5, к слову |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 15.10.2012
Сообщений: 14
|
![]()
неужели больше нет знатоков?
|
![]() |
![]() |
![]() |
#8 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,899
|
![]()
Так так, попрошу без взятия на "слабо".
Я был занят, только сегодня сел за Вашу задачу. Вот набросал, думаю подойдёт. Общая схема такая - круги рисуем на 32битную картинку, потом её же рисуем на 24битную картинку, делаем обрезку прозрачности области фона вне кругов (transparent), и рисуем на фоновую картинку (который можно и 32бит и 24 по желанию, но 32 бита при альфа не равной 255 уже будут иметь побочные эффекты). Итого 3 битмапа приходится задействовать, вместо 1. Переписал установку цветов - добавил текстбоксы под альфу и сделал изменение картинки по кнопке (удобнее мне было при тестинге), это сути не меняет, можете как угодно тут переделать. Последний раз редактировалось phomm; 04.11.2012 в 22:49. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 15.10.2012
Сообщений: 14
|
![]()
прошу прощения, не хотел, чтобы это выглядело, как взятие "на слабо") это была попытка поднять тему и призвать, по возможности, других знатоков.
Ваше решение сейчас посмотрю, но уже спасибо за то, что Вы нашли время) |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
С++ рисование в pictureBox | VIK_aka_TOR | Помощь студентам | 0 | 30.03.2012 01:10 |
PictureBox. C# | Novi4ok_11 | Помощь студентам | 8 | 28.02.2011 18:24 |
PictureBox | ne11son | Общие вопросы .NET | 0 | 14.03.2009 12:29 |
Прозрачность в PictureBox | _Dmitry | Общие вопросы .NET | 3 | 24.06.2008 20:33 |