ПОНЯТНО О Visual Basic NET (том 2)


12.7.3. Прозрачность


Функция FromArgb позволяет управлять прозрачностью цвета. Для этого используется ее вариант не с тремя, а с четырьмя параметрами. Второй, третий и четвертый параметры имеют привычный нам смысл количества красной, зеленой и синей краски. А вот первый параметр определяет прозрачность цвета. Если он равен 255, то цвет полностью непрозрачен, а если 0 – то полностью прозрачен (невидим).

Вот программа:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Dim Гр As Graphics = Me.CreateGraphics

        Dim Цвет1, Цвет2, Цвет3, Цвет4 As Color

        Цвет1 = Color.FromArgb(255, 50, 130, 152)       'Совершенно непрозрачный цвет

        Цвет2 = Color.FromArgb(200, 50, 130, 152)       'Немного прозрачный цвет

        Цвет3 = Color.FromArgb(150, 50, 130, 152)       'Более прозрачный цвет

        Цвет4 = Color.FromArgb(100, 50, 130, 152)       'Еще более прозрачный цвет

        Dim Перо As New Pen(Color.Black, 40)              'Черное перо для горизонтальной линии

        Dim Перо1 As New Pen(Цвет1, 40)

        Dim Перо2 As New Pen(Цвет2, 40)

        Dim Перо3 As New Pen(Цвет3, 40)

        Dim Перо4 As New Pen(Цвет4, 40)

        Гр.DrawLine(Перо, 30, 100, 300, 100)              'Чертим горизонтальную линию

        Гр.DrawLine(Перо1, 80, 60, 80, 200)                'Чертим левую вертикальную линию

        Гр.DrawLine(Перо2, 130, 60, 130, 200)            'Чертим вторую слева вертикальную линию

        Гр.DrawLine(Перо3, 180, 60, 180, 200)            'Чертим третью слева вертикальную линию

        Гр.DrawLine(Перо4, 230, 60, 230, 200)            'Чертим правую вертикальную линию

End Sub

Результат ее работы вы видите на Рис. 12.21. Четыре вертикальные линии одного и того же цвета (50, 130, 152), но разной прозрачности нарисованы на фоне черной горизонтальной линии.

Рис. 12.21

Попробуйте несколько раз нажать на кнопку. Сможете объяснить результат?

Задание 71.    

«Атака абстракциониста». На экране рисуются один за другим в быстром темпе залитые случайными цветами эллипсы или прямоугольники случайных размеров и местоположения. Получается очень ярко и живописно.




Начало  Назад  Вперед