Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Поддержка графических операций

Компонент TBevel

 

TBevel

 

Этот компонент используется для выделения группы элементов или отделения их друг от друга. Свойства:

 

Shape: TBevelShape;

- для задания вида компонента Shape. Могут быть выбраны:

bsBox -

bsFrame -

bsTopLine -

bsBottomLine -

bsLeftLine -

bsRightLine -

 

 

Для создания графических изображений в области некоторых компонент (TForm, TImage, TPaintBox, TPrinter, TListBox, TComboBox, TDrawGrid), используется свойство Canvas. С каждым из перечисленных компонент связано событие OnPaint. Это событие возникает, когда ядру Windows необходимо перерисовать содержимое компонента (например, при активизации формы, когда один из перечисленных компонентов становится видимым). Чтобы отрисовать графическое изображение внутри рабочей области перечисленных компонент нужно обработать событие OnPaint, т.е. записать соответствующий обработчик.

Можно воспроизвести на соответствующих компонентах любые графические объекты без использования компонент TImage, TShape, TLabel.

Класс TCanvas

 

Класс TCanvas имеет свойства:

 

Pen: TPen;

- устанавливает цвет, толщину, стиль линий и границ геометрических фигур. Например:

 

with Canvas do

begin

Pen.Color:= clBlue;

Pen.Width:= 2;

Pen.Style:= psDash;

end;

 

Brush: TBrush;

Это свойство позволяет устанавливать цвет и шаблон кисти;

 

Font: TFont;

Это свойство позволяет устанавливать параметры текста;

 

PenPos: TPoint

- выдает текущую позицию пера;

 

Pixels: TColor;

- двухмерный массив, содержащий цвета пикселей. Например:

 

Procedure TForm1.Button1Click();

Var

i, j: LongInt;

begin

Button1.Visible:= false;

with Canvas do

begin

for i:=1 to Width do

for j:=1 to Height do

Pixels[i,j]:= i*j;

Button1.Visible:= true;

end;

end;

 

Попробуйте выполнить этот фрагмент программы.

 

Методы класса TCanvas

Большое количество методов класса TCanvas позволяют отображать различные геометрические фигуры с помощью свойства Pen. Если фигура замкнута, то ее поверхность закрашивается Brush. Все тексты изображаются шрифтом Font.

В процессе работы программы эти характеристики можно изменять. Так:

Arc(x1, y1, x2, y2, x3, y3, x4, y4);

рисует дугу:

 

 
 


Chord(x1, y1, x2, y2, x3, y3, x4, y4);

рисует сегмент из дуги эллипса и хорды:

 

 

Ellipse(x1, y1, x2, y2);

рисует эллипс:

 

Top
Left
FillRect(Rect);

- закрашивание прямоугольника:

 

Right
Rect: TRect;

Bottom
Left, Top, Right, Bottom

 

MoveTo (x, y);

- перемещает перо в точку с координатами x, y

 

LineTo(x, y);

- рисует линию из текущего положения пера в точку с координатами x и y.

 

x3, y3
x1, y1
Pie(x1, y1, x2, y2, x3, y3, x4, y4);

- рисует сектор эллипса:

           
 
x4, y4
   
     
x2, y2
 


Poligon(Point: array of TPoint);

вычерчивание заданного многоугольника

Пример.

var

P: array[1..3] of TPoint;

begin

P[1].x:= 10; P[1].y:= 300;

P[2].x:= 200; P[2].y:= 300;

P[3].x:= 100; P[3].y:= 20;

Canvas.Poligon(P);

end;

 

Poliline(Point: array of TPoint);

- рисует ломаную;

 

RoundRect(x1, y1, x2, y2, x3, y3);

- вычерчивание и заполнение прямоугольника со скругленными углами

 

TextOut(x, y, S: String);

- осуществляет вывод строки;

 

Draw(x, y, Graphic: TGraphic);

- прорисовка графического объекта Graphic так, чтобы левый верхний угол располагался в (x, y). Объект Graphic может быть типа Bitmap, Icon и Metafile.

 

StretchDraw(Rect: TRect; Graphic: TGraphic);

- вычерчивание и масштабирование объекта Graphic до полного заполнения Rect.

Пример. На форме имеется Image1. С помощью свойства Picture в нее помещена картинка. Требуется переместить эту картинку в другое положение.

 

Procedure TForm1.FormPaint();

begin

with Canvas do

begin

Draw (0, 0, Image1.Picture.Bitmap);

StretchDraw (Rect(250,0,350,50), Image1.Picture.Bitmap);

end;

end;

 

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

Для более простых графических операций используется компонент TPaintBox.

<== предыдущая лекция | следующая лекция ==>
Компонента TShape | Свойство объектов Canvas
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 310; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.