☰ Содержание · Информатика

Текст и фигуры

Уроки 63–64 · 2 урока · Н. И. Тайлаков (общий редактор), А. Б. Ахмедов, М. Д. Пардаева, А. А. Абдуганиев, У. М. Мирсанов. Информатика и информационные технологии, 10 класс, 1-е издание. «Extremum-Press», Ташкент, 2017
63

Размещение других объектов на рисунке

Учебник: с. 144–148
ЦельПомещает текст в рисунок с помощью TextOut, задаёт шрифт и использует и различает методы Arc (дуга), Chord (сегмент) и Pie (сектор).
Новые слова
TextOut: метод, записывающий текст на холст в заданной точке · TextOutArc: дуга эллипса · ArcChord: сегмент эллипса, отсечённый прямой, соединяющей концы дуги · ChordPie: сектор, ограниченный дугой и двумя радиусами · Pie
Объяснение

Чтобы поместить текст в рисунок, используют Canvas.TextOut(x, y, 'text'): (x, y) – координаты левого верхнего угла текста. Вид текста задают свойствами Canvas.Font: Font.Size, Font.Color, Font.Name; стандартная кисть закрашивает фон текста, поэтому для текста без фона задайте Brush.Style := bsClear; Canvas.TextWidth('text') даёт ширину текста и используется для его центрирования. Для частей эллипса есть три метода, принимающие восемь чисел: Arc(x1, y1, x2, y2, x3, y3, x4, y4), Chord(…) и Pie(…). Первые четыре числа задают прямоугольник вокруг эллипса; (x3, y3) – точка на начальном луче из центра, а (x4, y4) – точка на конечном луче. Линия проводится от начального луча к конечному против часовой стрелки, поэтому порядок точек имеет значение. Arc рисует только дугу, Chord рисует дугу и отрезок, соединяющий её концы, Pie рисует дугу и два радиуса (сектор); Chord и Pie заливают внутреннюю часть кистью.

Примеры
Дуга и сектор: Image1.Canvas.Arc(0, 0, 100, 100, 100, 50, 50, 0); – центр (50, 50); начальный луч идёт на восток (100, 50), конечный – на север (50, 0): дуга в четверть окружности в правом верхнем углу. Image1.Canvas.Pie(0, 0, 100, 100, 50, 0, 100, 50); – начальный луч идёт на север, а конечный – на восток: против часовой стрелки это три четверти, то есть сектор в 270°.
Текст: Image1.Canvas.Font.Size := 14; Image1.Canvas.Font.Color := clRed; Image1.Canvas.Brush.Style := bsClear; Image1.Canvas.TextOut(20, 30, 'Salom'); – красный текст размера 14 начинается в точке (20, 30). Chord(0, 0, 100, 100, 100, 50, 50, 0) рисует и заливает эту четверть дуги и отрезок, соединяющий её концы.
Работа в классе

«Атлас частей»: пара рисует 4 разные части одного круга тремя методами, заранее записывает точки начального и конечного лучей для каждой и сравнивает их с картинкой.

Упражнения
1
Чем различаются Pie и Chord?
2
Каковы полуоси эллипса в Arc(0, 0, 100, 100, …)?
3
Полный круг – 360°. Сколько градусов составляют три четверти?
4
Почему Brush.Style := bsClear пишут перед TextOut?