Тема: Форматы графических файлов. Компоненты отображения графической информации.
Цель работы: Применение теоретических навыков на практике. Ознакомить студентов с компонентами вывода фигур на форме приложения. Закрепить полученные на лекции знания. Написать и отладить программу
Теория:
В стандартную библиотеку визуальных компонент Delphi входит несколько объектов, с помощью которых можно придать своей программе совершенно оригинальный вид. Это - TImage (TDBImage), TShape,
TImage позволяет поместить графическое изображение в любое место на форме. Этот объект очень прост в использовании - выберите его на странице Additional и поместите в нужное место формы. Собственно картинку можно загрузить во время дизайна в редакторе свойства Picture (Инспектор Объектов). Картинка должна храниться в файле в формате BMP (bitmap), WMF (Windows Meta File) или ICO (icon).
TShape - простейшие графические объекты на форме типа круг, квадрат и т.п. Вид объекта указывается в свойстве Shape. Свойство Pen определяет цвет и вид границы объекта. Brush задает цвет и вид заполнения объекта. Эти свойства можно менять как во время дизайна, так и во время выполнения программы. У ряда объектов из библиотеки визуальных компонент есть свойство Canvas (канва), которое предоставляет простой путь для рисования на них. Canvas является в свою очередь объектом, объединяющим в себе поле для рисования, карандаш (Pen), кисть (Brush) и шрифт (Font). Используя Canvas, Вы можете воспроизводить на форме любые графические объекты - картинки, многоугольники, текст и т.п
Свойства Canvas :
Brush -кисть, является объектом со своим набором свойств:
Bitmap - картинка размером строго 8x8, используется для заполнения (заливки) области на экране.
Color - цвет заливки. Style - предопределенный стиль заливки; это свойство конкурирует со свойством Bitmap - какое свойство Вы определили последним, то и будет определять вид заливки.
ClipRect - (только чтение) прямоугольник, на котором происходит графический вывод.
Font - шрифт, которым выводится текст (метод TextOut). Pen - карандаш, определяет вид линий; как и кисть (Brush) является объектом с набором свойств:
Color - цвет линии Mode - режим вывода: простая линия, с инвертированием, с выполнением исключающего или и др.
Style - стиль вывода: линия, пунктир и др. Width - ширина линии в точках
PenPos - текущая позиция карандаша, карандаш рекомендуется перемещать с помощью метода MoveTo, а не прямой установкой данного свойства.
Pixels - двухмерный массив элементов изображения (pixel), с его помощью Вы получаете доступ к каждой отдельной точке изображения.
Методы Canvas:
Методы для рисования простейшей графики - Arc, Chord, LineTo, Pie, Polygon, PolyLine, Rectangle, RoundRect. При прорисовке линий в этих методах используются карандаш (Pen) канвы, а для заполнения внутренних областей - кисть (Brush).
Методы для вывода текста - TextOut и TextRect. При выводе текста используется шрифт (Font) канвы. При использовании TextRect текст выводится только внутри указанного прямоугольника.
Пример: Нарисовать круг и прямоугольник с рамкой .
Расположите компоненты :Image(Addition), Button.
Обработчик события:
begin
with Image1 do
begin {рисуется рамка}
Canvas.MoveTo(2,2);
Canvas.LineTo(2,150);
Canvas.LineTo(315,150);
Canvas.LineTo(315,2);
Canvas.LineTo(2,2);
Canvas.Rectangle(10,10,250,120);
Canvas.Ellipse(30,30,100,100);
Canvas.TextOut(120,20,'Рисунок ');
end; end;
Задания
Вариант №1
Нарисовать следующий предмет: круг и квадрат
Вариант №2
Нарисовать следующий предмет: круг в квадрате
Вариант №3
Нарисовать следующий предмет: квадрат в эллипсе
Вариант №4
Нарисовать следующий предмет: круг в эллипсе
Вариант №5
Нарисовать следующий предмет: прямоугольник в квадрате
Вариант №6
Нарисовать следующий предмет: 2 круга в эллипсе
Вариант №7
Нарисовать следующий предмет: круг в круге и квадрате
Вариант №8
Нарисовать следующий предмет: 3 круга друг в друге
Вариант №9
Нарисовать следующий предмет: снеговика
Вариант №10
Нарисовать следующий предмет: 10 кругов разного размера
Вариант №11
Нарисовать следующий предмет: 2 круга с квадратами внутри
Вариант №12
Нарисовать следующий предмет: 10 кубиков с прямоугольником внутри
Вариант №13
Нарисовать следующий предмет: работа
Вариант №14
Нарисовать следующий предмет: дыня в движении
Вариант №15
Нарисовать следующий предмет: бублик в движении
Достарыңызбен бөлісу: |