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

ЖАНРЫ

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

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

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

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

System.Drawing.Brush myBrush;

myBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Black);

for (int у = 0; у < bitmap_dy; у = у + 15) {

gfx.DrawString("I am the BACKGROUND IMAGE...hello", this.Font, myBrush, 0, у);

}

//Очистить

myBrush.Dispose;

gfx.Dispose;

}

//-------------------------------------------------

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

//-------------------------------------------------

System.Drawing.Bitmap m_foregroundBitmap;

void CreateForeground {

if (m_foregroundBitmap == null) {

m_foregroundBitmap = new Bitmap(bitmap_dx, bitmap_dy);

}

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

System.Drawing.Graphics gfx;

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

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

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

System.Drawing.Brush yellowBrush;

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;

}

//-----------------------------------------------------------------

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

//-----------------------------------------------------------------

private void SetPictureBoxDimensions {

pictureBox1.Width = bitmap_dx;

pictureBox1.Height = bitmap_dy;

pictureBox1.Left = 20;

}

//---------------------------------------------------------------------

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

//---------------------------------------------------------------------

private void buttonDrawBackground_Click(object sender, System.EventArgs e) {

SetPictureBoxDimensions;

CreateBackground;

pictureBox1.Image = m_backgroundBitmap;

}

//-----------------------------------------------------------------------

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

//-----------------------------------------------------------------------

private void buttonDrawForeground_Click(object sender, System.EventArgs e) {

SetPictureBoxDimensions;

CreateForeground;

pictureBox1.Image = m_foregroundBitmap;

}

//-----------------------------------------------------------------------

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

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

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

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

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

//-----------------------------------------------------------------------

private void buttonDrawBackgroundPlusForeground_Click(object sender, System.EventArgs e) {

SetPictureBoxDimensions;

CreateForeground;

CreateBackground;

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

//именно поверх него мы собираемся рисовать. System.Drawing.Graphics gfx;

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

//-------------------------------------------------------

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

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

//-------------------------------------------------------

System.Drawing.Imaging.ImageAttributes trasparencyInfo = new System.Drawing.Imaging.ImageAttributes;

//----------------------

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

//----------------------

trasparencyInfo.SetColorKey(System.Drawing.Color.Yellow, System.Drawing.Color.Yellow);

//Задать прямоугольник рисунка

System.Drawing.Rectangle rect = new System.Drawing.Rectangle(0, 0, m_backgroundBitmap.Width, m_backgroundBitmap.Height);

//-----------------------------------------------------------------------

//Нарисовать изображение ПЕРЕДНЕГО ПЛАНА поверх изображения ЗАДНЕГО ПЛАНА

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