Преобразовать ARGB в RGB - C#

Формулировка задачи:

Подскажите пожалуйста, у меня есть BITMAP, и мне нужно получить значение красного цвета в каждом пикселе. Получаю пиксель функцией GetPixel(), она возвращает значение типа Color. Там цветовая схема ARGB. Типа (200,120,30,50). A - это "прозрачность". Вопрос в том как получить значение R? просто взять R = 120? Или его надо умножить на A, на прозрачность?

Код к задаче: «Преобразовать ARGB в RGB - C#»

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));
    }

11   голосов, оценка 3.818 из 5


СОХРАНИТЬ ССЫЛКУ