Вход/Регистрация
Программирование мобильных устройств на платформе .NET Compact Framework
вернуться

Салмре Иво

Шрифт:

4. Скомпилируйте пример и запустите его на выполнение. Щелкните на кнопке Button1.

С применения подхода, основанного на элементе управления PictureBox, рекомендуется начинать в тех случаях, когда существует необходимость в отображении графических данных. Если такой подход в состоянии удовлетворить нужды вашего приложения — отлично! Пытаться использовать другие, более сложные подходы имеет смысл лишь в тех случаях, когда только что описанный подход вас не устраивает.

Листинг 11.6. Создание изображения на внеэкранной растровой поверхности и передача его в элемент управления PictureBox

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

//Создать рисунок на растровой поверхности. Переслать его в PictureBox

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

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

//Создать новую битовую карту

System.Drawing.Bitmap myBitmap;

myBitmap = new System.Drawing.Bitmap(pictureBox1.Width, pictureBox1.Height);

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

//Создать объект Graphics, чтобы иметь возможность рисовать на битовой карте

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

System.Drawing.Graphics myGfx;

myGfx = System.Drawing.Graphics.FromImage(myBitmap);

//Закрасить нашу битовую карту желтым цветом

myGfx.Clear(System.Drawing.Color.Yellow);

//Создать перо

System.Drawing.Pen myPen;

myPen = new System.Drawing.Pen(System.Drawing.Color.Blue);

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

//Нарисовать эллипс

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

myGfx.DrawEllipse(myPen, 0, 0, myBitmap.Width - 1, myBitmap.Height -1);

//Создать сплошную кисть

System.Drawing.Brush myBrush;

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

//Нарисовать текст кистью

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

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

//Примечание: Мы используем объект Font из формы

myGfx.DrawString("Hello!",this.Font, myBrush, 2, 10);

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

//Важно! Очистить все после себя

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

myGfx.Dispose;

myPen.Dispose;

myBrush.Dispose;

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

//Указать объекту pictureBox, на необходимость отображения растрового

//изображения, которое мы только что создали и нарисовали.

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

pictureBox1.Image = myBitmap;

}

Рисование непосредственно в форме

Для рисования в форме существует два способа:

1. Создайте объект Graphics для формы и используйте этот объект для создания нужных рисунков.

2. Подключитесь к функции OnPaint для формы и получите объект Graphics, который можно будет использовать для рисования.

Создание объекта Graphics для формы и рисование на нем обычно применяются лишь изредка, поскольку в этом случае любой созданный вами рисунок не существует постоянно. Форма с удовольствием предоставит вашему приложению свою поверхность для рисования всего, что вам заблагорассудится, но не будет запоминать нарисованное. Это означает, что если форма по какой-либо причине будет перерисована, то все, что нарисовал ваш код, исчезнет. Поэтому данный метод не годится для графики, которую вы хотите сохранять на экране в течение длительных периодов времени. Так, описанный способ плохо подходит для вычерчивания диаграмм, которые пользователь будет просматривать на своем мобильном устройстве, поскольку ваше приложение не в состоянии контролировать, когда именно отображаемая картинка будет частично или полностью перекрыта другим изображением. Вместе с тем, данный метод может оказаться полезным в тех случаях, когда все экранное изображение все время полностью перерисовывается, как это происходит, например, в играх. Если изображение перерисовывается несколько раз в секунду, то не имеет никакого значения, является ли оно постоянно существующим или нет.

Эта методика рисования проиллюстрирована в листинге 11.7. Для создания и запуска данного приложения необходимо выполнить следующие действия:

1. Начните новый проект Smart Device в Visual Studio .NET и выберите в качестве целевой платформы Pocket PC.

2. Добавьте в форму Form кнопку Button.

3. Дважды щелкните на кнопке Button1 в окне конструктора форм; в результате этого будет создан и подключен к кнопке приведенный ниже обработчик событий button1_Click. Введите приведенный в листинге 11.7 код, который реагирует на это событие.

  • Читать дальше
  • 1
  • ...
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: