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

В приведенных ниже примерах использование матрицы осуществляется двумя способами. В одном из них объявляется переменная типа Single, значением которой является матрица размером 5x5, определяющая величины свойств класса ColorMatrix. Другой способ определяет эту же матрицу как экземпляр класса ColorMatrix с заданными значениями его свойств. В приведенных ниже примерах загружается изображение из папки Образцы рисунков, предварительно

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

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

скопированное на диск С, после чего мы по собственному желанию можем регулировать цветовую гамму, прозрачность или производить линейные преобразования. Итак, пример первый, в котором применен оператор For...Next для инициализации матрицы и определения ее исходных данных:

Dim img As Image

Dim arr(,) As Single = {{0.1, 0, 0, 0, 0}, {0, 0.9, 0, 0, 0}, {0, 0, 0.5, 0, 0}, {0, 0, 0, 1, 0}, (0, 0, 0, 0, 1}}

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

ByVal e As System.EventArgs) Handles Button2.Click

Dim gr As Graphics = Me.CreateGraphics

Dim colmatr As New System.Drawing.Imaging.ColorMatrix

Dim imgatrib As New System.Drawing.Imaging.ImageAttributes

Dim rec2 As Rectangle

img = Image.FromFile(«С:\закат.jpg»)

rec2 = New Rectangle(250, 50, 150, 150)

Dim i, j As Integer

For i = 0 To 4

For j = 0 To 4

colmatr.Item(i, j) = arr(i, j)

Next

Next

imgatrib.SetColorMatrix(colmatr)

gr.Drawlmage(img, rec2, 0, 0, 500, 500, GraphicsUnit.Pixel,

imgatrib)

End Sub

Пример второй:

Private Sub Buttonl_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Buttonl.Click "Static a, b As Single "a = a + 0.1

Dim gr As Graphics = Me.CreateGraphics

Dim colmatr As New System.Drawing.Imaging.ColorMatrix

Dim imgatrib As New Sys tern. Drawing. Imaging. ImageAt tributes

Dim reel As Rectangle

img = Image.FromFile(«C:\3aKaT.jpg»)

reel = New Rectangle(50, 50, 150, 150)

colmatr.MatrixOO =0.1

colmatr.Matrixll =0.9

colmatr.Matrix22 =0.5

colmatr.Matrix33 = 1

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

Сохранение рисунка

colmatr.Matrix44 = 1 imgatrib.SetColorMatrix(colmatr) "imgatrib.SetThreshold(a) •imgatrib.SetGamma(a) gr.Drawlmage(img, reel, 0, 0, 500, 500, GraphicsUnit.Pixel, imgatrib) End Sub


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