Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Программирование графики в Delphi. Класс TCanvas. Основные свойства и методы.(тут еще нужно упомянуть Тимейдж и ТпайнтБокс.билет52)

Поиск

Свойства и методы класса TCanvas

В качестве свойств, в первую очередь, используются классы, описывающие цвет и

способ заполнения областей формы, цвет и толщину линий, стиль и размер шрифта

и другие. Дополнительные методы предназначены для вывода на экран изображе-

ний и рисунков.

Класс Карандаш (ТРеп). Карандаш — свойство Реп класса TCanvas, определяется

основными свойствами, перечисленными в табл. 4.12.

Таблица 4.12. Основные свойства класса ТРеп

Свойство Назначение

Color Цвет карандаша

Mode Режим рисования. Определяет, в частности, способ комбинирования своего цвета с

текущим цветом холста; например, значение ргпХог позволяет рисовать линии, которые

при повторной отрисовке на том же месте исчезают. Это удобно, когда надо

динамически отображать постоянно меняющиеся линии вслед за движущимся

указателем

Style Стиль линии определяет, будет ли она сплошной или пунктирной. Возможные

значения: psSolid (сплошная линия); psDash (пунктирная) и другие

Width Толщина линии в пикселах

Класс Кисть (TBrush). Кисть — свойство Brush класса TCanvas, предназначена для

заполнения сплошных областей клиентской части формы в соответствии с заданным

шаблоном. Помимо свойств Color и Style, совпадающих с аналогичными свойствами

класса ТРеп, в класс TBrush добавлено новое свойство Bitmap, которое позволяет запол-

нять область не только сплошным цветом или пунктирными линиями, но и заранее

подготовленным точечным изображением.

Работа с графикой 193

Класс Шрифт (TFont). Шрифт — свойство Font класса TCanvas, служит оболочкой

ресурса Windows, определяющего текущий шрифт. Содержит множество стандарт-

ных свойств, описывающих характеристики шрифта. Наиболее важные из них

приведены в табл. 4.13.

Таблица 4.13. Основные свойства класса TFont

Свойство Назначение

Color Цвет

Charset Набор символов, определяемый используемой кодировкой. Например, для шрифта с

русскими буквами могут существовать различные наборы: СР-1251, КОИ-8 и другие

Height Высота шрифта в пикселах. Реально эта высота вычисляется по специальной формуле

и может принимать отрицательные значения. Подробнее об этом можно узнать в

справочном руководство го программированию в Windows. Вместо данного свойства

лучше использовать свойство Size

Name Название шрифта, под которым ок зарегистрирован в Windows, например Times New

Roman, Courier и прочие

Pitch Профиль шрифта, определяющий, будет ли расстояние между символами

фиксированным (fpFixed) или переменным (fpVariable), как это имеет место в шрифтах

Courier и Times New Roman соответственно. Если для шрифта явно задано значение, не

соответствующее реальному профилю, система Windows автоматически подберет

шрифт, все символы которого наиболее точно соответствуют указанным параметрам

Size Высота шрифта в пикселах

Style Оиль ирифтг. Возможно е этзчения:;<3о1з (по.пуии:ныГ'); fsltslic (курсив);

fsllnderline (подчеркнутый); fsStrikeOut (зачеркнутый)

Свойства холста

Выше были перечислены самые важные свойства холста, которые активно исполь-

зуются в процессе вывода графической информации. Однако помимо них необхо-

димо отметить некоторые свойства самого класса TCanvas, приведенные в табл. 4.14.

Класс TCanvas содержит большое количество методов. Их краткое описание приве-

дено в табл. 4.15.

Таблица 4.14. Некоторые свойства класса ТСапоах

Свойство Назначение

CanvasO Mentation

Данное свойство, доступное только для чтения, определяет позицию начала

координат. Значение по умолчанию —coLeftToRight (отсчет ведется от

левого верхнего угла клиентской области). В некоторых случаях

используется значение coRightToLeft (когда в соответствии с

национальными требованиями текст пишется справа налево). В этом

случае отсчет идет от верхнего правого угла

CLipRect

Область холста, которая реально отрисовывается. Обычно эта область

совпадает с клиентской областью, что означает вывод всей графической

информации. 8 ряде случаев удается значительно повысить скорость

отображения информации благодаря ограничению области вывода

небольшим прямоугольником

CopyMode Режим копирования графического образа на холст. С помощью данного

свойства удается создавать самые разные графические и анимационные

эффекты путем выполнения операций логического сложения, умножения

инвертирования битов исходной и результирующей графических областей.

Например, значение cmSrcInvert {логическая операция XOR) активно

применяется при перемещении спрайтов

PenPos Текущая позиция графического курсора (тип TPoint)

Pixels Двумерный массив, хранящий цвета каждого пиксела изображения. Это

свойство очень полезно при поточечной обработке рисунка, однако им

нельзя злоупотреблять, так как обработка отдельных пикселов — весьма

медленная операция. Пример использования:

Canvas.Pixels[123,50]:- dRed;

TextFlags Способ вывода текста на холст. Возможные значения: — ETO_CLIPPED

(обычный вывод, по умолчанию); ETO_OPAQUE (вывод текста с заливкой

фона, что ускоряет процесс вывода, но перекрывает фоновый рисунок)

Таблица 4.15. Краткое описание методов класса TCanvas

 

 

Метод Назначение


procedure Arc(

XI, Y1, Х2, YZ, ХЗ, УЗ, Х4, Y4: Integer);

procedure BmshCopy(const Dest: TRect;

Bitmap: TBitmap; const Source: TRect;

Color: TColor);

procedure Chord(

XI, Yl, X2, Уг, ХЗ, УЗ, Х4, Y4): Integer;

procedure Copy4ect(Qest: TRect;

Canvas: TCanvas; Source: TRect);

procedure Draw(X,Y: Integer;

Graphic: TGraphic);

procedure Draw Foe usRectf

const Rect: TRect);

 

 

procedure EUipse(const Rect: TRect);

procedure FillRect(const Rect: TRect);

 

procedure FloodRU(X,Y: Integer;

Color: TColor; FiltStyle: TRllStyle);

procedure FrameRectfconst Rect; TRect);

 

Рисование части эллипса

 

Копирование заданной части графич.изображения на холст. При этом цвет, указанный в качестве параметра, трактуется как прозрачный (не отображаемый на экране)

 

Рисуется замкнутая фигура, созданная пересечением

эллипса и отрезка прямой линии (хорды)

Копирование на данный холст области с другого холста.

Способ вывода определяется значением свойства CopyMode

Вывод графического изображения в заданной точке

холста

Рисуется прямоугольник в стиле, принятом в Windows

для отображения элементов, имеющих фокус.

Повторный вывод такого прямоугольника в том же месте приводит к его исчезновению (логическая операция XOR)

Рисуется эллипс

Рисуется прямоугольник, который заполняется в соответствии со значением свойства Brush

Заполнение указанным цветом области холста,прилегающей к точке, заданной в качестве параметра,и имеющей цвет, совпадающий с цветом этой точки

Рисуется прямоугольник заданного размера с толщиной

границы в 1 пиксел. Вид линии определяется значением

свойства Brush


стр195Таблица 4.15, Краткое описание методов класса TCamias (продолжение)

Назначение


procedure LineTo(X,Y: Integer);

 

procedure MoveTo(X,Y: Integer);

 

procedure Pie{

XI, Yl, X2, Y2, X3, Y3, X4, Y4: Longint);

 

procedure PolyBezier(

const Points: array of TPoint);

 

procedure Poly8ezierTo(

const Points: array of TPoint);

 

procedure Polygon(

Points: array of TPoint);

 

 

procedure PoLylinef

Points: array of TPoint)

 

procedure Rectangle (const Rect: TRect);

 

procedure RoundRect(

XI, Y1,X2,Y2,X3,Y3: Integer);

procedureStretchDraw(

const Rect: TRect; Graphic: TGraphic);

function Text£xtent(

const Text: string): TSize;

function TextHeight(

const Text: string): Integer;

procedure TextOut(X, Y: Integer;

const Text: string);

procedure TextRect(Rect: TRect;

X, Y: Integer; const Text: string);

function TextWidth(

const Text: string): Integer;

Рисует линию от точки, определенной свойством PenPos (текущая позиция графического курсора) до точки,указанной в качестве параметра

Устанавливает текущую позицию графического курсора в точку, заданную в параметрах метода

Рисуется сектор эллипса, расположенный внутри

заданного прямоугольника

 

Рисуется кривая Безье — гладкая линия, соединяющая заданные точки. Точки передаются в динамическом массиве, состоящем из элементов типа TPoint. При рисовании очередного фрагмента линии учитываются три последовательные точки

Метод аналогичен предыдущему, но по окончании отрисовки линии графический курсор перемещается в ее последнюю точку. Значение свойства PenPos, в отличие от метода PolyBezier, когда графический курсор остается на старом месте, обновляется

Рисуется сложная фигура, состоящая из отрезков,последовательно соединяющих точки, представленные ввиде динамического массива элементов TPoint. Последняя точка соединяется с первой. Внутренняя часть фигуры заполняется в соответствии со значением свойства Brush

Метод аналогичен предыдущему, но заполнения внутренней части фигуры не происходит

 

Рисуется прямоугольник. Его внутренняя область заполняется в соответствии со значением свойства Brush

Метод аналогичен предыдущему. Рисуется прямоугольник со скругленными углами

 

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

Возвращает ширину и высоту в пикселах строки, выведенной текущим шрифтом

 

Возвращает высоту в пикселах строки, выведенной

текущим шрифтом

Вывод строки в конкретную позицию холста

 

Вывод строки в указанную позицию в рамках прямоугольника Rect. Часть строки, не попавшая в указанную область, на холст не выводится

Ширина в пикселах строки, выведенной текущим

шрифтом__




Поделиться:


Последнее изменение этой страницы: 2017-02-21; просмотров: 310; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.135.186.233 (0.006 с.)