Программирование мобильных устройств на платформе .NET Compact Framework
Шрифт:
' ЗАДНЕГО ПЛАНА
'------------------------------------------------------------------------
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, _
System.Drawing.Color.Yellow)
'Задать прямоугольник рисунка
Dim rect As System.Drawing.Rectangle = _
New System.Drawing.Rectangle(0, 0, _
m_backgroundBitmap.Width, m_backgroundBitmap.Height)
'-----------------------------------------------------------------------
'Нарисовать изображение ПЕРЕДНЕГО ПЛАНА поверх изображения ЗАДНЕГО ПЛАНА
'и использовать прозрачный цвет в ImageAttributes для создания окна
'прозрачности, через которое виден задний план
'-----------------------------------------------------------------------
gfx.DrawImage(m_foregroundBitmap, rect, 0, 0, _
m_foregroundBitmap.Width, m_foregroundBitmap.Height, _
System.Drawing.GraphicsUnit.Pixel, trasparencyInfo)
'Очистить
gfx.Dispose
'Показать результат в виде растрового изображения
PictureBox1.Image = m_backgroundBitmap
End Sub
Листинг 13.6. Код формы, демонстрирующий загрузку встроенных ресурсов
'-----------------------------------------------------------
'Загрузить изображение и отобразить его в объекте PictureBox
'-----------------------------------------------------------
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
LoadImageFromResource
PictureBox1.Image = m_myBitmapImage
End Sub
Private m_myBitmapImage As System.Drawing.Bitmap
'------------------------------------------------------------------
'Загрузить изображение, которое хранится в виде встроенного ресурса
'в нашей сборке
'------------------------------------------------------------------
Public Sub LoadImageFromResource
'Если изображение уже загружено,
'то не имеет смысла делать это повторно.
If Not (m_myBitmapImage Is Nothing) Then
Return
End If
'----------------------------------------------------
'Получить ссылку на двоичную сборку нашего приложения
'----------------------------------------------------
Dim thisAssembly As System.Reflection.Assembly = _
System.Reflection.Assembly.GetExecutingAssembly
'-------------------
'Получить имя сборки
'-------------------
Dim thisAssemblyName As System.Reflection.AssemblyName = _
thisAssembly.GetName
Dim assemblyName As String = thisAssemblyName.Name
'-----------------------------------------------------------------------
'Извлечь поток изображения из нашей сборки и создать соответствующую ему
'битовую карту в памяти
'ПРИМЕЧАНИЕ: Имя потока ресурса ResourceStream ЧУВСТВИТЕЛЬНО К РЕГИСТРУ,
' поэтому имя изображения должно В ТОЧНОСТИ совпадать с именем
' файла изображения, который вы добавили в проект
'-----------------------------------------------------------------------
m_myBitmapImage = New System.Drawing.Bitmap( _
thisAssembly.GetManifestResourceStream( _
Поделиться:
Популярные книги
Бастард
1. Последняя жизнь
Фантастика:
фэнтези
героическая фантастика
попаданцы
5.86
рейтинг книги
Неудержимый. Книга XXX
30. Неудержимый
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Чиновникъ Особых поручений
6. Александр Агренев
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Хозяин Теней 5
5. Безбожник
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Мастер порталов
8. Гибрид
Фантастика:
боевая фантастика
попаданцы
технофэнтези
аниме
фэнтези
5.00
рейтинг книги
Меткий стрелок
1. Меткий стрелок
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Древесный маг Орловского княжества 3
3. Орловское княжество
Фантастика:
аниме
сказочная фантастика
фэнтези
попаданцы
гаремник
5.00
рейтинг книги
Хозяин Стужи 4
4. Злой Лед
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Чевенгур
Проза:
советская классическая проза
6.75
рейтинг книги
Товарищ "Чума" 7
7. Товарищ "Чума"
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Личный аптекарь императора. Том 5
5. Личный аптекарь императора
Фантастика:
городское фэнтези
попаданцы
аниме
сказочная фантастика
фэнтези
7.50
рейтинг книги
Мальвиль
Фантастика:
социально-философская фантастика
научная фантастика
альтернативная история
8.29
рейтинг книги
Вечный. Книга VI
6. Вечный
Фантастика:
рпг
фэнтези
5.00
рейтинг книги
Страх
2. Дети Арбата
Проза:
историческая проза
9.49