powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Изменить InvertRect на заливку полупрозрачным цветом
4 сообщений из 4, страница 1 из 1
Изменить InvertRect на заливку полупрозрачным цветом
    #38985797
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть процедура которая инвертирует цвета на DC по-определенным координатам.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Public Sub Invert(ByVal LeftX As Long, ByVal TopY As Long, ByVal rightX As Long, ByVal bottomY As Long)
    Dim tRect As RECT
    With tRect
        .Left = LeftX
        .Top = TopY
        .Right = rightX
        .Bottom = bottomY
    End With
     Call InvertRect(mMemoryDC, tRect)
End Sub



А как мне вместо инвертирования сделать по этим координатам заливку полупрозрачным цветом? Примерно как на картинке.
...
Рейтинг: 0 / 0
Изменить InvertRect на заливку полупрозрачным цветом
    #38989297
Eolt,

AlphaBlend() же.
...
Рейтинг: 0 / 0
Изменить InvertRect на заливку полупрозрачным цветом
    #38989304
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или GDI+:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
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
...
Рейтинг: 0 / 0
Изменить InvertRect на заливку полупрозрачным цветом
    #38989413
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Та ещё структура, ATM-TURBO 2,
спасибо! то что нужно
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Изменить InvertRect на заливку полупрозрачным цветом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]