Чтение онлайн

ЖАНРЫ

Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:

gfx.Clear(System.Drawing.Color.White)

'Рисуем текст черным

Dim myBrush As System.Drawing.Brush

myBrush = New System.Drawing.SolidBrush( _

System.Drawing.Color.Black)

Dim у As Integer

For у = 0 To bitmap_dy Step 15

gfx.DrawString("I am the BACKGROUND IMAGE...hello", Me.Font, myBrush, 0, y)

Next

'Очистить

myBrush.Dispose

gfx.Dispose

End Sub

'-------------------------------------------------

'Создает и прорисовывает изображение заднего плана

'-------------------------------------------------

Private m_foregroundBitmap As System.Drawing.Bitmap

Sub CreateForeground

If (m_foregroundBitmap Is Nothing) Then

m_foregroundBitmap = New Bitmap(bitmap_dx, bitmap_dy)

End If

'Делаем всю битовую карту синей

Dim gfx As System.Drawing.Graphics

gfx = System.Drawing.Graphics.FromImage(m_foregroundBitmap)

gfx.Clear(System.Drawing.Color.Blue)

'Рисуем несколько фигур желтым

Dim yellowBrush As System.Drawing.Brush

yellowBrush = New System.Drawing.SolidBrush( _

System.Drawing.Color.Yellow)

gfx.FillEllipse(yellowBrush, 130, 4, 40, 70)

gfx.FillRectangle(yellowBrush, 5, 20, 110, 30)

gfx.FillEllipse(yellowBrush, 60, 75, 130, 20)

'Очистить

yellowBrush.Dispose

gfx.Dispose

End Sub

'-----------------------------------------------------------------

'Устанавливает размеры и местоположение PictureBox с левой стороны

'-----------------------------------------------------------------

Private Sub SetPictureBoxDimensions

PictureBox1.Width = bitmap_dx

PictureBox1.Height = bitmap_dy

PictureBox1.Left = 20

End Sub

'---------------------------------------------------------------------

'ОБРАБОТЧИК СОБЫТИЙ: Отобразить изображение ЗАДНЕГО ПЛАНА в PictureBox

'---------------------------------------------------------------------

Private Sub buttonDrawBackground_Click(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles buttonDrawBackground.Click

SetPictureBoxDimensions

CreateBackground

PictureBox1.Image = m_backgroundBitmap

End Sub

'-----------------------------------------------------------------------

'ОБРАБОТЧИК СОБЫТИЙ: Отобразить изображение ПЕРЕДНЕГО ПЛАНА в PictureBox

'-----------------------------------------------------------------------

Private Sub buttonDrawForeground_Click(ByVal sender As Object, _

ByVal e As System.EventArgs) Handles buttonDrawForeground.Click

SetPictureBoxDimensions

CreateForeground

PictureBox1.Image = m_foregroundBitmap

End Sub

'-----------------------------------------------------------------------

'ОБРАБОТЧИК СОБЫТИЙ: Наложить изображение ПЕРЕДНЕГО ПЛАНА на изображение

' ЗАДНЕГО ПЛАНА. Использовать МАСКУ ПРОЗРАЧНОСТИ, чтобы желтый

' цвет в изображении ПЕРЕДНЕГО ПЛАНА стал прозрачным и через

' него можно было видеть содержимое изображения

' ЗАДНЕГО ПЛАНА

'------------------------------------------------------------------------

Private Sub buttonDrawBackgroundPlusForeground_Click(ByVal _

sender As Object, ByVal e As System.EventArgs) _

Handles buttonDrawBackgroundPlusForeground.Click

SetPictureBoxDimensions

CreateForeground

CreateBackground

'Получить объект Graphics изображения ЗАДНЕГО ПЛАНА, поскольку

'именно поверх него мы собираемся рисовать.

Dim gfx As System.Drawing.Graphics

gfx = System.Drawing.Graphics.FromImage(m_backgroundBitmap)

'-------------------------------------------------------

'Создать класс ImageAttributes. Этот класс позволяет нам

'задать прозрачный цвет на наших операций рисования

'-------------------------------------------------------

Dim trasparencyInfo As System.Drawing.Imaging.ImageAttributes

trasparencyInfo = New System.Drawing.Imaging.ImageAttributes

'----------------------

'Задать прозрачный цвет

'----------------------

trasparencyInfo.SetColorKey(System.Drawing.Color.Yellow, _

Поделиться с друзьями: