Одеяло Альфа Компонент в GDI + - PullRequest
0 голосов
/ 11 мая 2009

Есть ли способ установить альфа-значение, которое влияет на все последующие вызовы GDI / GDI +? другими словами, я хочу установить прозрачность для всех вызовов объекта Graphics.

(я ищу что-то похожее на то, как функции *Transform влияют на объект Graphics, к которому они обращаются)

1 Ответ

1 голос
/ 11 мая 2009

Если нет чего-то, о чем я не знаю, в GDI нет возможности выполнить это. Вы ищете способ изменить относительные альфа-значения всех цветов, используемых при рисовании в контексте GDI? Я не думаю, что что-то подобное существует.

Лучшей идеей может быть кэширование ваших цветов в вашем собственном репозитории, тогда, когда вы захотите установить глобальное (или широкую область) альфа-значение, вы можете использовать его для управления этими цветами. Очевидно, что если бы у меня было больше информации, я мог бы найти решение, более подходящее для вашей среды, но это все, что я могу предложить, основываясь только на том, что предусмотрено в вопросе.

Редактировать

После прочтения вашего комментария я бы предложил превратить ваш код рисования в функцию, которая принимает объект Graphics, местоположение / размер (и все, что подходит, если это не так) и прозрачность с плавающей точкой (в диапазоне от 0 до 1,0). Затем вы можете создать свои цвета в своей функции на основе предоставленного значения прозрачности.

...