Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Изменить InvertRect на заливку полупрозрачным цветом / 4 сообщений из 4, страница 1 из 1
17.06.2015, 13:46
    #38985797
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить InvertRect на заливку полупрозрачным цветом
Есть процедура которая инвертирует цвета на 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
22.06.2015, 00:47
    #38989297
Изменить InvertRect на заливку полупрозрачным цветом
Eolt,

AlphaBlend() же.
...
Рейтинг: 0 / 0
22.06.2015, 01:41
    #38989304
ATM-TURBO 2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить InvertRect на заливку полупрозрачным цветом
Или 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
22.06.2015, 10:20
    #38989413
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить InvertRect на заливку полупрозрачным цветом
Та ещё структура, ATM-TURBO 2,
спасибо! то что нужно
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Изменить InvertRect на заливку полупрозрачным цветом / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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