Высокоуровневые методы информатики и программирования. Тузовский А.Ф. - 155 стр.

UptoLike

Составители: 

155
void Form1_Paint(object sender, PaintEventArgs e){
Graphics gfx = e.Graphics;
//перерисовка, использующая методы объекта gfx
}
8.7.3. Системы координат
В форме по умолчанию задается стандартная система координат,
показанная на рис. 8.15. Однако в классе Graphics имеется набор
свойств и методов для изменения такой системы координат области ри-
сования. Можно выделить следующие основные свойства:
свойство PageUnit для задания единиц измерения, которое мо-
жет принимать такие основные значения перечисления Graphic-
sUnit, как Pixel (по умолчанию), Millimeter, Point (1/72
дюйма), Inch (дюйм – 2.54 см);
свойство Transform для задания матрицы трансформации коор-
динат, которая описывается с помощью класса Matrix; рассмот-
рение данного класса выходит за пределы данного пособия, но
отметим, что с помощью такой матрицы можно создать обычную
систему координат с центром в точке (x, y) следующим образом:
Graphics gfx = CreateGraphics();
gfx.Transform = new Matrix(1, 0, 0, -1, x, y);
К основным методам изменеия системы координат можно отнести:
перенос начала системы координат в точку (x, y) Translate-
Transform(x, y);
поворот системы координат относительно начальной точки на x
градусов по часовой стрелке RotateTransform(х);
масштабирование по оси x и оси y ScaleTransform(x, y);
8.7.4. Классы для описания геометрических объектов
В пространстве имен System.Windows.Drawing описан набор
структур описания таких элементарных геометрических объектов, как
точки, размеры и прямоугольники. Различают два вида таких структур
с целочисленными полями (Point, Size и Rectangle) и с полями типа
float (PointF, SizeF и RectangleF). Рассмотрим далее структуры с
целочисленными полями.
Структура точек Point описывает точку с заданными положи-
тельными или отрицательными координатами, например:
Point pt = new Point (100, 75);
Структура размеров Size описывает ширину и высоту некоторой
области, которые могут быть только положительными. Например:
Size sz = new Size (60,100);