Лекция: Единицы измерения и перерисовка
• Используя свойство ScaleMode, можно задать единицы измерения в терминах стандартного масштаба в твипах, пунктах, пикселах, миллиметрах, сантиметрах, символах и т. д.
• Чтобы объект picture можно было использовать для вывода графических элементов и их перерисовки при изменении размеров графического окна, необходимо установить значение его свойства AutoRedrawв True.
Метод Line
Метод Lineпредназначен для рисования линий и прямоугольников.
object.Line[Step] (x1, y1) — [Step] (x2, y2), [color], [B] [F]
где:
• object— объект, в котором применяется метод. Если объект не указан, то по умолчанию используется форма;
• step— ключевое слово, которое показывает, что начальная точка задается относительно текущего положения, определяемого свойствами CurrentXи CurrentYобъекта;
• x1, y1— числа с плавающей точкой одинарной точности, координаты начала линии. При отсутствии этих параметров начало привязывается к значениям свойств CurrentXи CurrentYобъекта;
• step— ключевое слово, определяющее привязку координат конца линии к началу, то есть координаты конца заданы относительно координат начала линии;
• x2, y2— числа с плавающей точкой одинарной точности, координаты конца линии;
• color— задает цвет линии в палитре RGB. Если параметр не указан, то используется свойство ForeColorобъекта; Данный аргумент можно задать с помощью функции RGBили QBColor;
• B— задает рисование прямоугольника, при этом координаты означают координаты левого верхнего и правого нижнего углов;
• F— задает заполнение прямоугольника цветом линии рисования. Если аргумент Bиспользуется без аргумента F, то прямоугольник закрашивается в соответствии с установками свойств FillColorи FillStyle. По умолчанию значение свойства FillStyle– прозрачная закраска.
Примечания:
• Используемые единицы измерения определяются свойством ScaleModeобъекта.
• Чтобы нарисовать соединяющиеся линии, необходимо каждую следующую линию начинать из конечной точки предыдущей.
• Толщина линии определяется значением свойства DrawWidth. Способ изображения линии или прямоугольника относительно фона зависит от установок свойств DrawModeи DrawStyle.
• Во время выполнения метода Lineзначения свойств объекта CurrentXи CurrentYстановятся координатами конечной точки.
Метод Circle
С помощью данного метода можно нарисовать на объекте окружность, эллипс или дугу.
object.Circle[Step] (x, у), radius, [color, start, end, aspect]
• object— объект, в котором применяется метод. Если объект не указан, то по умолчанию используется форма;
• step— ключевое слово, которое показывает, что центр окружности, эллипса или дуги задается относительно текущих координат объекта object, определяемых его свойствами CurrentXи CurrentY.
• х, у— числа с плавающей точкой одинарной точности, определяющие координаты центра окружности, дуги или эллипса в единицах свойства scaleModeобъекта;
• radius— число с плавающей точкой одинарной точности, определяющее радиус окружности, дуги или эллипса в единицах свойства scaleModeобъекта;
• color— значение типа Long, задающее цвет линии. Если параметр не указан, применяется значение свойства ForeColor. Для задания цвета можно использовать функции RGB ()или QBColor;
• start, end— при рисовании дуги или части эллипса задает позицию начала и конца дуги в радианах: от 2 pi до -2 pi радиан; По умолчанию, для аргумента start устанавливается значение 0 радиан, а для аргумента end — 2 pi радиан.
• aspect— число с плавающей точкой одинарной точности задает коэффициент «эллиптичности» окружности. По умолчанию этот коэффициент равен 1.0, что соответствует окружности.
Примечания:
• Во время выполнения метода Circle значения свойств CurrentXи CurrentYстановятся координатами центра окружности.
• Чтобы закрасить внутреннюю область окружности, следует задать свойства FillColor и FillStyle объекта, в котором она нарисована. Закрасить можно только замкнутую фигуру. Замкнутыми фигурами являются окружности, эллипсы и секторы (фигуры ограниченные дугой и двумя радиусами).
• Метод Circle осуществляет рисование только в направлении обратном ходу часовой стрелки (положительное направление).
• Если при изображении части окружности или эллипса аргумент start окажется отрицательным, то метод Circle проведет линию от центра к точке start, но будет использовать абсолютную величину этого угла. Таким же образом будет обработано и отрицательное значение аргумента end.
• Толщина линии окружности, эллипса или дуги определяется значением свойства DrawWidth.Способ изображения окружности относительно фона зависит от установок свойств DrawMode и DrawStyle.
• При рисовании горизонтального радиуса сектора вправо используйте в качестве значения аргумента start не ноль, а небольшое отрицательное число.
• Если требуется пропустить аргумент, стоящий в середине синтаксической последовательности для метода, то вместо него перед следующим аргументом необходимо поставить запятую. В конце синтаксической последовательности, при пропуске необязательного аргумента, запятую ставить не следует.
Метод Point
Метод pointвозвращает цвет в палитре RGB указанной точки в форме или на объектах типа pictureBox. Синтаксис этого метода следующий:
object.Point (x, у)
• object— объект, в котором используется метод;
• x, у— координаты точки в объекте.
Замечание:Необходимо иметь в виду, что в случае «выпадения» точки из границ формы или объекта Picture (то есть когда координаты больше размера объекта) метод возвращает отрицательное значение –1.
Метод Pset
Метод Psetпомещает точку определенного цвета в указанные координаты. Этот метод является обратным методу point.
object.Pset[Step] (x, у),[color]
• object— объект, в котором используется метод. Если объект не указан, то по умолчанию используется форма;
• Step— ключевое слово, определяющее привязку координат точки к координатам, возвращаемым свойствами Currentxи СurrentYобъекта;
• х, у— координаты точки на объекте;
• color— цвет точки в палитре RGB.Если параметр не указан, то используется свойство ForeСolorобъекта.
Замечание:При использовании метода Pset размер точки определяется толщиной объекта, то есть свойством объекта DrawWidth. Для толщины 1 это один пиксел, для толщины больше единицы — это область объекта с центром, имеющим указанные координаты. Способ рисования точки при этом определяется свойствами объекта DrawModeи DrowStyle.
Метод Сls
С помощью метода Clsможно очистить объект от текста и графики, созданных в нем программно.