Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования стр.70
Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования стр.70

Dim b As New System.Drawing.Drawing2D.PathGradientBrush(a)

b. CenterColor = Color.Thistle b.CenterPoint = New PointF(350, 100)

Dim c() As Color = {Color.FromArgb(255, rd, bl, gr)}

b.SurroundColors = с

e.Graphics.FillPath(b, a)

Setstyle(ControlStyles.UserPaint, True) Setstyle(ControlStyles.AllPaintinglnWmPaint, True) Setstyle(ControlStyles.DoubleBuffer, True) End Sub

Private Sub Timerl_Tick(ByVal sender As System.Object, ByVal _

e As System.EventArgs) Handles Timerl.Tick

rd - TrackBarl.Value

bl = TrackBar2.Value

gr = ТгаскВагЗ.Value

Me.RefreshO

End Sub

В данном примере интервал ползунка установлен в пределах от 1 до 250 в соответствии с числовым подбором интенсивности цвета, то есть значение свойства Maximum в окне Proprties равно 250, а значение свойства Minimum равно 1. Подобная программа дает возможность значительно ускорить подбор нужных цветов, особенно когда каждый полученный рисунок нужно сохранить в отдельном файле или вывести на печать.

Трусов М. А. Visual Basic .NET. Создание графических объектов и основы программирования

ГЛАВА 11 ▼ Некоторые особенности работы с графикой

Рассмотрим еще одну простую, но очень полезную программу. В ней отсутствует регулировка, поскольку смену цветов обеспечивает генератор случайных чисел. Подобная программа позволяет имитировать объект, мерцающий разноцветными огнями. Чем больше интервал, из которого выбираются числа определяющие интенсивность цвета, тем более пеструю окраску приобретает объект. В предыдущем примере достаточно заменить код в процедуре событий Timer_Tick на код, приведенный ниже:

Private Sub Timerl_Tick(ByVal sender As System.Object, ByVal _

e As System.EventArgs) Handles Timer1.Tick

Randomize()

gr = 50 * Rnd()

bl = 56 * Rnd()

rd = 56 * Rnd()

Me.RefreshO

End Sub

Еще лучше использовать не один таймер, а три, то есть свой для каждого цвета. Наконец, упомянем о возможности изменения прозрачности цвета. Этот прием часто используется для изображения предметов, скрытых в ночной темноте, тумане или воде. Делается это очень просто. Сначала рисуется нужный предмет, затем поверх его создается частично прозрачный заполненный прямоугольник или патч. В приведенном ниже примере параметр alpha заменен статической переменной, значение которой увеличивается с каждым щелчком кнопки и таким образом возрастает от 0 до 250. В результате, эллипс черного цвета постепенно полностью закрывается красным прямоугольником.


⇐ Предыдущая Следующая ⇒
 
 
 
Powered by Exponenta