Изменить InvertRect на заливку полупрозрачным цветом - VB

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

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

Есть процедура которая инвертирует цвета на DC по-определенным координатам.

А как мне вместо инвертирования сделать по этим координатам заливку полупрозрачным цветом? Примерно как на картинке.

Решение задачи: «Изменить InvertRect на заливку полупрозрачным цветом»

textual
Листинг программы
Dim token As Long
Dim Brush As Long
Dim graph As Long

Private Sub Form_Load()
    Dim gpi As GdiplusStartupInput
    
    gpi.GdiplusVersion = 1
    
    GdiplusStartup token, gpi
    
    GdipCreateSolidFill &H80A0FFA0, Brush
    GdipCreateFromHDC Me.hdc, graph
    
End Sub

Private Sub Form_Unload(Cancel As Integer)

    GdipDeleteGraphics graph
    GdipDeleteBrush Brush
    GdiplusShutdown token
    
End Sub

Private Sub tmrTimer_Timer()
    Static ph   As Single
    
    Me.PaintPicture Me.Picture, 0, 0
    GdipFillRectangleI graph, _
                       Brush, _
                       Me.ScaleWidth \ 2 - Abs(Sin(ph)) * 100, _
                       Me.ScaleHeight \ 2 - Abs(Sin(ph)) * 100, _
                       Abs(Sin(ph)) * 200, _
                       Abs(Sin(ph)) * 200
    Me.Refresh
    
    ph = ph + 0.05
    
End Sub

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


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

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

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