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

const int bitmap_dy = 100;


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

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

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

System.Drawing.Bitmap m_backgroundBitmap;

void CreateBackground {

 if  (m_backgroundBitmap == null) {

  m_backgroundBitmap =new Bitmap(bitmap_dx, bitmap_dy);

 }


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

 System.Drawing.Graphics gfx;

 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

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

Перейти на страницу:

Похожие книги

Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

Эндрю Хант , Дэвид Томас , А. Алексашин

Программирование / Книги по IT
Разработка ядра Linux
Разработка ядра Linux

В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.

Роберт Лав

Программирование, программы, базы данных / Программирование / Книги по IT