netlib.narod.ru< Назад | Оглавление | Далее >

Что нельзя делать

Некоторые действия в преобразовании страницы недопустимы. Во-первых, нельзя заносить в свойство PageScale отрицательные значения, т.е. нельзя увеличивать координаты по оси X влево от начала координат (что иногда пытаются делать) или распространять координаты Y за пределы верхней границы экрана (люди, склонные мыслить математически, считают это полезным).

Во-вторых, нельзя вводить разные единицы для измерений по горизонтали и вертикали. Свойства PageScale и PageUnit применимы в равной мере к обеим осям. Функция типа:

  grfx.DrawEllipse(pen, 0, 0, 100, 100);

всегда будет рисовать окружность независимо от преобразования страницы, кроме единственного случая, когда свойство PageUnit задано как GraphicsUnit.Pixel, а разрешение устройства вывода по горизонтали и вертикали отличается. Эта проблема редко возникает с дисплеем, но довольно обычна для принтеров.

Наконец, нельзя менять положение начала координат. Точка с координатами (0, 0) всегда находится в левом верхнем углу клиентской области или области печати страницы принтера.

К счастью, GDI+ поддерживаег еще одно преобразование, позволяющее решать эти и множество других задач.


netlib.narod.ru< Назад | Оглавление | Далее >

Сайт управляется системой uCoz