netlib.narod.ru | < Назад | Оглавление | Далее > |
Согласно Евклиду, «линия — это протяженность, лишенная ширины 1». Именно утверждение об «отсутствии ширины» делает это определение интересным. С одной стороны, оно свидетельствует о высокой степени абстракции, характерной для мышления математиков Древней Греции, а с другой — позволяет заключить, что эллины были в полном неведении о компьютерной графике. Иначе они бы осознавали, что на самом деле у пикселов есть ширина. С этим фактом связана одна из самых неприятных проблем компьютерной графики, известная как «ошибка смещения на 1 пиксел» (off-by-l-pixel error). В этой главе мы в подробностях рассмотрим эту проблему.
Мир компьютерной графики можно грубо разделить на две области:
векторная графика — практическое применение аналитической геометрии, включает рисование прямых, кривых и заливку областей;
растровая графика — включает битовые карты и изображения предметов реального мира.
За ними идет текст, занимающий собственное место в мире компьютерной графики. Однако в связи с ростом популярности контурных шрифтов (outline fonts) в последнее время с текстом часто обращаются как с частью векторной графики.
В этой главе мы познакомимся с векторной графикой в том виде в каком она реализована в Microsoft Windows Forms и GDI+. Все функции рисования, обсуждаемые в этой главе, являются методами класса Graphics и начинаются с префикса Draw или Fill. Методы Draw рисуют прямые и кривые; методы Fill служат для заливки областей (границы которых, естественно, определяются прямыми и кривыми). Первым аргументом всех рассматриваемых в этой главе методов Draw является объект Pen, а первым аргументом методов Fill — объект Brush.
1 Sir Thomas L. Heath, ed, The Thirteen Books of Euclid's Elements (New York: Dover, 1956)
netlib.narod.ru | < Назад | Оглавление | Далее > |