Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 203

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 197 198 199 200 201 202 < 203 > 204 205 206 207 208 209 .. 404 >> Следующая


Всегда вызывайте метод Dlapoaat) для объектов Bruah.

Как И ДЛЯ объектов Graphic» И Рапа, НвОбхОДИМО Либо ВЫЗЫВВТЬ МвТОД Dlapoaa () для создаваемых нами объектов Bruah, либо использовать для работы с ними конструкцию uainu, в противном случае приложение может исчерпать ресурсы системы.

Практикум: пример использования класса Brush

Запустите Visual Studio.NET и создайте новое C# Windows Application. Щелкните на форме правой кнопкой мыши и выберите пункт View Code из открывшегося меню. Найдите конструктор класса Formi и добавьте в него обращение к методу setstyle() сразу за обращением к методу initializeComponentО, SetStyleO —
438

Глава 16

это функция класса Form. Видоизмененный конструктор будет выглядеть следующим образом:

public Forml()

С -

П

I! Необходимо для поддержки Windows Form Designer II

Initiali2eComponent I);

SetStyle(CcntrolStylee.Opaque, tryeji

П

I / Следует сделать: Любой код, относящийся к хонструктору,

// должен быть понецен после аыэона метода InitializeComponent П .

\

Этот код изменяет поведение класса Form таким образом, что он не будет автоматически выполнять закрашивание фона окна. Если мы включаем в код эту строку, но не закрашиваем фон окна самостоятельно, то какое бы изображение ни оказалось расположенным под данным окном на момент его создания, оно будет оставаться видимым, что вряд ли может нас устроить.

В самое начало файла мы включим строку с оператором using, поскольку U данном примере МЫ будем использовать класс LinearGradientBrusb, который находится В пространстве имен Drawing2D, После добавления директивы using к пространству имен Drawing2D, код примет следующий вид:

using System;

using System.Drawing;

using Systeau Drawing,Drowing2D;

using System.Collections;

using Systcst.CornponentModel;

using Sygta.n,Windows. Forma;

using System.Data;

Теперь необходимо добавить к нашему классу метод onPaintO : protected override void OnPaint(PaintEventArgs e)

{

Graphics g “ e.Graphics; .

g.FillRectangle(Brushes.White, CiientRectangie) г g.FillRcctangle(Brushes.Red, new Rectangle(10, 10, 50, 50));

Brush linearGradientBrush * new LinearGradientBruch(

new Rectangle(10, 60, 50, 50), Color.Blue, Color.White, 45); g.FillRectangledinearGradientBruah, new Rectangle (IQ, 60, 50, 50));

И Вызываем метод Disposed вручную linearGrodinntBrush,Dispose();

a.FillEllipse(Brushes.Aquamarine, new Rectangle(60, 20, 50, 20)); g.FillPie(Brushes.Chartreuse, new Rectangle(60, 60, 50, 50), 90, 210); g.FillPolygon(Brushes.BlueViglet, new Point[] {

new Point(110, 10), new Point(150, 10),

¦ ¦ new Point(160, 40),

new Point(120, 20}, new Point(120, 60),

)) J

)
Введение в GD/+

439

Теперь нажмите клавишу F5 и запустите программу. В результате ее выполнения будет создано окно, прсдставлсннос на рисунке слева.

Как это работает

Существует класс Brushes, в котором содержится приблизительно 150 разновидностей кистей — по одной на каждый заранее определенный цвет. Названный класс будет использоваться нами для создания большинства кистей, с которыми мы будем работать в данном примере, за исключением кисти LinearGradientBrush, которую МЫ С03ДДДИМ самостоятельно.

Первое обращение к методу FiliRectangleO позволяет нарисовать фон клиентской области нашего окна:

<j.FillRectan<jle(Brushes.White, ClientRectangle) ;

Создание LinearGradientBrush предполагает передачу прямоугольника с заданными размерами, двух цветов, между которыми будет осуществляться переход, и угол этого перехода, который в данном случае равен 45°:

Brush linearGradientBrush = new LinearGradientBruah(

new Rectangle[10, 60, 50, 50), Color.Blue, Color.White, 45); g.FillRectangledinearGradientBruah, new Rectangle (10 , 60, 50, 50)); linearGradientBrush,Dispose()j

Когда мы задаем прямоугольник для кисги, то используем прямоугольник с шириной, равной 50, и высотой, равной 50, что в точности совпадает с прямоугольником, использованным при описании кисти. В результате этого площадь кисти соответствует закрашиваемой области. Попробуйте изменить размеры прямоугольника, описываемого при создании кисти, таким образом, чтобы его ширина и высота были равны 10, и посмотрите, что получится. Кроме того, попытайтесь использовать для угла изменения цвета (который в вышеприведенной программе описан как равный 45*) различные другие значения, и понаблюдайте, каким образом изменится эффект.

Графический вывод текста с помощью класс Font

Следующий пример будет посвящен графическому выводу текста с помощью класса Font, который включает в себя три основные характеристики шрифта, а именно: семейство, размер и стиль. Класс Font находится в пространстве имен System. Drawing,

, Согласно документации .NET, семейство шрифтов “определяет группу типов представления литер, имеющих одинаковый базовый дизайн”. Это довольно причудливый способ объяснить, что Courier, Arial и Times New Roman представляют собой семейства шрифтов.

Свойство size определяет размер данного типа шрифта. Однако в .NET Framework, строго говоря, это свойство не является обязательно размером шрифта, выраженным в пунктах. Оно может представлять собой такой размер, однако существует возможность изменить свойство с названием Graphicsunit (единица измерения графических объектов) посредством свойства unit, которое определяет единицу измерения шрифтов. Один пункт составляет '/7,2 дюйма, поэтому шрифт в 10 пунктов будет иметь высоту 10/п дюйма. С помощью перечислимого типа
Предыдущая << 1 .. 197 198 199 200 201 202 < 203 > 204 205 206 207 208 209 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.