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

Метод DrawImage и его варианты


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

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim Гр As Graphics = Me.CreateGraphics

        Dim Фото As New Bitmap("Spacescape.JPG")

        Dim Т As New Point(30, 10)

        Dim П1 As New Rectangle(550, 10, 150, 130)

        Dim П2 As New Rectangle(550, 160, 200, 70)

        Dim П3 As New Rectangle(550, 250, 200, 150)

        Dim П4 As New Rectangle(800, 170, 400, 300)

        Гр.DrawImage(Фото, Т)                  'Точка Т задает левый верхний угол картинки

        Гр.DrawImage(Фото, П1)                'Втискиваем картинку в прямоугольник П1

        Гр.DrawImage(Фото, П2)                'Втискиваем картинку в прямоугольник П2

        'Вырезаем из картинки прямоугольник П4 и втискиваем его в прямоугольник П3:



        Гр.DrawImage(Фото, П3, П4, GraphicsUnit.Pixel)

End Sub

Вот результат ее работы (Рис. 12.13).

Рис. 12.13

Пояснения. Я уже говорил, что у структур, как и у классов, есть конструкторы. Четыре параметра у конструктора прямоугольника – это его главные свойства X, Y, Width и Height.

Из трех десятков вариантов DrawImage я использовал три. Оператор

        Гр.DrawImage(Фото, Т)                  'Точка Т задает левый верхний угол картинки

рисует ту картинку, что на рисунке слева, с левым верхним углом в указанной точке.

Операторы

        Гр.DrawImage(Фото, П1)                'Втискиваем картинку в прямоугольник П1

        Гр.DrawImage(Фото, П2)                'Втискиваем картинку в прямоугольник П2

рисуют две картинки справа сверху. Они позволяют как угодно увеличивать, уменьшать, растягивать и сплющивать картинку, потому что картинка обязана уместиться в указанный вами прямоугольник.

Оператор

        Гр.DrawImage(Фото, П3, П4, GraphicsUnit.Pixel)

вырезает из картинки прямоугольник П4 и умещает его в прямоугольник П3 на форме. Будьте внимательны насчет единиц измерения размеров в прямоугольнике П4. Прежде всего, четвертым параметром метода мы указали GraphicsUnit.Pixel. Это значит, что единицей измерения для прямоугольника П4 мы выбрали пиксель в объекте Фото. Не путайте пиксели на форме и экране с пикселями в невидимых объектах Bitmap. Не удивительно, что прямоугольник П4 я задаю с очень большими величинами параметров, ведь измеряются они в этих самых невидимых пикселях.



Содержание раздела