Как регулировать прозрачность изображения в C#
Пример использует объект ColorMatrix для масштабирования красных, зеленых и синих цветовых компонентов пикселей изображения. Вы можете использовать подобную технику для масштабирования компонентов альфа (прозрачности) пикселей. Например, если альфа-значение пикселя 255 (полностью непрозрачное) и вы масштабируете его в 0,5 раза, результатом будет пиксель с альфа = 128 (наполовину прозрачный).
Следующий AdjustAlpha метод масштабирует альфа-значения изображения.
// Отрегулируйте прозрачность изображения.
private Bitmap AdjustAlpha(Image image, float translucency)
{
    // Создаем ColorMatrix.
    float t = translucency;
    ColorMatrix cm = new ColorMatrix(new float[][]
        {
            new float[] {1, 0, 0, 0, 0},
            new float[] {0, 1, 0, 0, 0},
            new float[] {0, 0, 1, 0, 0},
            new float[] {0, 0, 0, t, 0},
            new float[] {0, 0, 0, 0, 1},
        });
    ImageAttributes attributes = new ImageAttributes();
    attributes.SetColorMatrix(cm);
    // Нарисуем изображение на новом растровом изображении
    // применение новой ColorMatrix.
    Point[] points =
    {
        new Point(0, 0),
        new Point(image.Width, 0),
        new Point(0, image.Height),
    };
    Rectangle rect =
        new Rectangle(0, 0, image.Width, image.Height);
    // Создаем растровое изображение результата.
    Bitmap bm = new Bitmap(image.Width, image.Height);
    using (Graphics gr = Graphics.FromImage(bm))
    {
        gr.DrawImage(image, points, rect,
            GraphicsUnit.Pixel, attributes);
    }
    // Вернуть результат.
    return bm;
}
Ключом является ColorMatrix. Он похож на идентифицирующую матрицу, кроме записи, которая масштабирует альфа-компоненты пикселей, задается масштабным коэффициентом t. См. для получения дополнительной информации о том, как работает часть чертежа.


 
																							 
																							