Преобразовать ARGB в RGB - C#
Формулировка задачи:
Подскажите пожалуйста, у меня есть BITMAP, и мне нужно получить значение красного цвета в каждом пикселе. Получаю пиксель функцией GetPixel(), она возвращает значение типа Color. Там цветовая схема ARGB. Типа (200,120,30,50). A - это "прозрачность". Вопрос в том как получить значение R? просто взять R = 120? Или его надо умножить на A, на прозрачность?
Решение задачи: «Преобразовать ARGB в RGB»
textual
Листинг программы
public static Color RemoveAlpha(Color foreground, Color background) { if (foreground.A == 255) return foreground; var alpha = foreground.A / 255.0; var diff = 1.0 - alpha; return Color.FromArgb(255, (byte)(foreground.R * alpha + background.R * diff), (byte)(foreground.G * alpha + background.G * diff), (byte)(foreground.B * alpha + background.B * diff)); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д