Рисование картинки, прозрачной на n% - Visual Basic .NET

Узнай цену своей работы

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

Возник такой вопрос: как нарисовать картинку таким способом
только чуть прозрачной относительно заднего picture box ? Я так понимаю нужно сам битмап трансформировать или как ? Или можно как-то сделать по-другому... Буду благодарен за помощь.

Решение задачи: «Рисование картинки, прозрачной на n%»

textual
Листинг программы
        Dim m_Alpha As Single = 0.5
        Dim bm1 As Bitmap = New Bitmap(My.Resources.laserBtn)
        Dim image_attr As New ImageAttributes
        Dim cm As ColorMatrix
 
        Dim bm As New Bitmap(bm1.Width, bm1.Height)
        Dim gr As Graphics = Graphics.FromImage(bm)
        Dim rect As Rectangle = Rectangle.Round(bm1.GetBounds(GraphicsUnit.Pixel))
 
        cm = New ColorMatrix(New Single()() { _
            New Single() {1.0, 0.0, 0.0, 0.0, 0.0}, _
            New Single() {0.0, 1.0, 0.0, 0.0, 0.0}, _
            New Single() {0.0, 0.0, 1.0, 0.0, 0.0}, _
            New Single() {0.0, 0.0, 0.0, 0.0, 0.0}, _
            New Single() {0.0, 0.0, 0.0, m_Alpha, 1.0}})
        image_attr.SetColorMatrix(cm)
        gr.DrawImage(bm1, rect, 0, 0, bm1.Width, bm1.Height, GraphicsUnit.Pixel, image_attr)
 
        PictureBox1.Image = bm
        PictureBox1.Refresh()

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.214 из 5
Похожие ответы