Внешний вид сайта:

Основы работы с Canvas

Полезность страницы:
0/100

В данном уроке научимся работать с Canvas. Что это такое? Если перевести это слова на русский язык то получится, что это холст, канва. Canvas представляет из себя область компонента, на которой можно создавать, хранить и модифицировать графическое изображение.

Вы наверно не раз видели что у формы есть свойство Canvas. Такое же свойство есть и у TImage. Что на ней можно рисовать? Можно нарисовать начиная от простой точки до овала и вывода текста. Давайте попробуем нарисовать прямую линию из точки А в точку Б. Выложите на форму кнопку и в обработчике onClick пишем:

Form1.Canvas.MoveTo(0,0);
Form1.Canvas.LineTo(100,100);

Что есть что? MoveTo - это из каких координат начинать рисовать линию, можно сказать это начало линии. А LineTo соответственно конец линии.

Линия нарисовалась черная, а нам охото красную! Перед тем как начинать рисовать напишем:

Form1.Canvas.Pen.Color := clRed;

У канвы есть свойство Pen. С его помощю можно поменять толщину (Width), цвет (Color), стиль (Style) и многое другое.

Теперь нарисуем прямоугольник:

Form1.Canvas.Rectangle(0,0,100,50);

Координаты думаю понятны. Первые две указывают левый верхний угол, еще две - правый нижний угол прямоугольника.

Нарисовать-то нарисовали, цвет рамки поменять сможем (pen), а вот как поменять цвет заливки фигуры - свойство Brush (заливка). Поменяем цвет заливки квадрата на зеленый, для этого перед тем как рисуем сам прямоугольник напишем:

Form1.Canvas.Brush.Color:=clGreen;

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

Form1.Canvas.Brush.Style:=bsDiagCross;

Чтобы было проще разобраться с Pen и Brush выложите на форму TShape и у него найдите эти свойства. Поэкспериментируйте и поглядите как меняется компонент. И уже исходя из этих знаний можно все это сделать программно, просто в коде обратиться к изменяемым свойствам.

Помимо прямоугольников можно рисвоать элипсы:

Form1.Canvas.Ellipse(0,0,100,50);

Ну и напоследок как один пиксель сделать определенного цвета:

Form1.Canvas.Pixels[10,10]:=clRed;

В данном случае цвет красный.

Помимо этого можно вывести на канву картинку. Например в компоненте TImage есть картинка и ее нужно вывести на канву формы или другого TImage. Выложите на форму TImage и загрузите в него какой-нибудь BMP файл. В обработчике события на нажатие по кнопке пишем:

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

После выполнения кода в координаты 0,0 выведется вся графика хранящаяся в Image1.

Естественно это не все возможности которые я описал в этом уроке. Постарайтесь сделать что-то большее. Какой-нибудь маленький проект. И напоследок скажу, что отображает на канву очень медленно, тоесть для быстрого вывода графики (например игр) это не подойдет. Для этого самым простым является компонент DelphiX. С его помощю можно достаточно быстро и легко выводить графику. Вот пара ссылок чтобы ознакомиться с DelphiX: DelphiX: Описание и установка; DelphiX: Загрузка и вывод спрайтов

Дополнить страницу Вы можете помочь другим людям дополнив эту страницу вашими знаниями по данному вопросу!
02:58

Комментарии

Нет комментариев. Ваш будет первым!