Компьютерная графика, мультимедиа и игры на Visual C#

         

Глава Изображение и управление - часть 8


    'Преобразование не имеет 0, 0, 0, 1 в последнем столбце:

    Public Sub TransformAllDataFull(ByRef M(,) As Single)

        TransformDataFull(M, 1, NumLines)

    End Sub

    'Применяем матрицу переноса (translation matrix)

    'ко всем выделенным линиям, используя MatrixApplyFull.

    'Преобразование не имеет 0, 0, 0, 1 в последнем столбце:

    Public Sub TransformDataFull(ByRef M(,) As Single, _

    ByVal line1 As Integer, ByVal line2 As Integer)

        Dim i As Integer

        For i = line1 To line2

            MatrixApplyFull(Lines(i).fr_points, M, _

            Lines(i).fr_tr_points)

            MatrixApplyFull(Lines(i).to_points, M, _

            Lines(i).to_tr_points)

        Next i

    End Sub

    'Вводим перем-ю N_Graphics для номера многих геом-х изобр-й.

    'Номер первого изображения равен 1:

    Dim N_Graphics As Integer = 1

    'Рисуем выделенные преобразованные линии и экпорт-м в файлы:

    Public Sub DrawSolid(ByVal bmp As Bitmap, _

    ByVal first_line As Integer, ByVal last_line As Integer, _

    ByVal color As Color, ByVal clear As Boolean)

        Dim k As Integer

        Dim x1 As Single : Dim y1 As Single

        Dim x2 As Single : Dim y2 As Single

        Dim g As Graphics : Dim pen As Pen

        'Задаем толщину линии рисования, например, 2

        '(цвет линии мы задали в процедуре Designing):

        pen = New Pen(color, 2)

        'Связываем объект g с изображением bmp:

        g = Graphics.FromImage(bmp)

        If clear Then g.Clear(System.Drawing.Color.Black)

        'Объявляем индексы элементов всех массивов:

        Dim i, j As Integer

        'Если этот метод DrawSolid вызван второй раз

        'для рисования второго изображения и N_Graphics = 2,

        'то обходим 1-й массив для первого изобр-я до метки M2:

        If N_Graphics = 2 Then GoTo M2

        'Программируем первый массив для первого изображения:

        'Задаем границы индексов первого массива myArrayVB(i, j)




Содержание  Назад  Вперед