Программирование мобильных устройств на платформе .NET Compact Framework (Салмре) - страница 580

> '-------------------------------------------------------

> 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

> '-----------------------------------------------------------------------