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

Салмре Иво

Шрифт:

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

 //Создать объект 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 код, который реагирует на это событие.

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

Листинг 11.7. Создание объекта Graphics для формы

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

//Создает объект Graphics для формы и осуществляет рисование

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

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

 //Создать объект Graphics для формы

 System.Drawing.Graphics myGfx;

 myGfx = this.CreateGraphics;

 //Создать кисть

 System.Drawing.Brush myBrush;

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

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

 myGfx.FillRectangle(myBrush, 4, 2, 60, 20);

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

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

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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