В данном уроке научимся работать с 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: Загрузка и вывод спрайтов
Урок 11 - Сохраняем настройки программы
Просмотров: 40554
Copyright © 2008 - 2018 Программирование на Delphi для начинающих и не только.
Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам.
Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации.