Прямоугольники
Для работы с прямоугольниками используется класс RectangleShape, параметрами которого являются геометрические размеры фигуры (ширина и высота). Здесь всё просто:
// … — здесь предыдущий код
// Отрисовка многоугольника
window.draw(convex);
// Создаем прямоугольник размером 70х100
RectangleShape rectangle(Vector2f(70.f, 100.f));
// Перемещаем его в нижний ряд справа от многоугольника
rectangle.move(165, 150);
// Устанавливаем ему цвет
rectangle.setFillColor(Color(175, 180, 240));
// Отрисовка прямоугольника
window.draw(rectangle);
// Отрисовка окна
window.display();
// … — здесь весь остальной код
1 |
// … — здесь предыдущий код // Отрисовка многоугольника window.draw(convex); // Создаем прямоугольник размером 70х100 RectangleShape rectangle(Vector2f(70.f,100.f)); // Перемещаем его в нижний ряд справа от многоугольника rectangle.move(165,150); // Устанавливаем ему цвет rectangle.setFillColor(Color(175,180,240)); // Отрисовка прямоугольника window.draw(rectangle); // Отрисовка окна window.display(); // … — здесь весь остальной код |
Результат выполнения программы:
Создание и редактирование простого объекта — прямоугольника
Выберите инструмент «Rectangle Tool / Прямоугольник» в панели инструментов, расположенной в левой части окна программы и создайте объект.
Обратите внимание на 8 черных прямоугольника, расположенных по периметру прямоугольника. Они показывают, что объект является активным
В центре находится перекрестие, а в вершинах — контурные прямоугольники. Все эти управляющие элементы предназначены для редактирования объекта.
Вы можете изменить размер прямоугольника пропорционально, перемещая один из угловых квадратов. Боковые квадраты изменяют размер объекта только в одном направлении.
Перемещение объекта
Нажмите левой кнопкой мыши на любое место объекта и переместите прямоугольник в нужное место рабочего поля. Отпустите кнопку мыши, когда объект находится в нужном положении. Щелкните в любом месте от прямоугольника, чтобы отменить выбор.
Поворот объекта
Произведите двойной щелчок по объекту. Черные прямоугольники по периметру объекта изменятся на двойные стрелки.
Вы можете повернуть объект с помощью угловых стрелок.
Обратите внимание на значок цели, расположенный в середине прямоугольника, когда выбор поворота является активным. Нажмите и перетащите этот значок, чтобы изменить точку поворота
Щелкните в любом месте от прямоугольника, чтобы отменить выбор.
Боковые стрелки применяются для смещения прямых сигментов прямоугольника вокруг цели.
Закругленные углы на объекте
Создайте новый прямоугольник. Выберите инструмент «Shape / Форма» на панели
Обратите внимание, что выбор теперь появляется в виде четырех угловых маркеров и пунктирными линиями. Перемещая один из маркеров, создайте закругленные углы нужного размера
Как в кореле залить объект
Чтобы залить цветом объект, выполните следующие действия:
Выберите объект. Нажмите левой кнопкой мыши на нужный цвет в цветовой палитре справа и нажмите на цвет. Что бы выбрать оттенок основного цвета удерживайте кнопку до появления дополнительной панели.
Для изменения цвета контура щелкните по цвету на палитре правой кнопкой мыши. Для заливки объекта узором воспользуйтесь кнопкой « Pattern Fill Dialog – Диалоговое окно заливки узором» на панели инструментов.
Здесь же находятся кнопки «Диалоговое окно цвета заливки», «Диалоговое окно градиентной заливки», «Диалоговое окно заливки текстурами», «Диалоговое окно заливки PostScript», кнопка удаления заливки и окно настройки цвета.
Контур в Кореле
В программах векторной графики, объекты имеют контур, для которого пользователь может определить цвет, толщину и форму. В Кореле для этого имеется следующие диалоговые окна:
- «Диалоговое окно пера абриса» — где можно задать размер и стиль абриса
- «Диалоговое окно цвета абриса»
- кнопка удаления абриса
- несколько кнопок с разными значениями размера абриса
- окно настройки цвета.
Как вырезать объект в кореле
Создайте два прямоугольника и наложите один объект на другой. Щелкните по нижнему прямоугольнику затем с нажатой клавишей «Shift» по верхнему, выделив оба объекта. Далее упорядочить – формирование – задние минус передние.
Так же воспользуйтесь следующими инструментами для вырезания: пересечение, исключить, передние минус задние.
Основы векторной иллюстрации в CorelDRAW
В пяти видеоуроках графический дизайнер Яна Грищева покажет вам, как создается векторная иллюстрация в стиле полигональной графики в программе CorelDRAW.
Круги
Предлагаю для начала потренироваться на простых геометрических фигурах типа Михаила круга. В этом деле большую помощь нам окажет класс CircleShape:
конструктор данного класса принимает в качестве параметра радиус нашей будущей фигуры (например, );
закрасить фигуру можно с помощью метода , который очень похож на уже знакомый нам метод ;
ну и для отображения круга в окне используется метод .
Например:
#include <SFML/Graphics.hpp>
using namespace sf; // подключаем пространство имен sf
int main()
{
// Объект, который, собственно, является главным окном приложения
RenderWindow window(VideoMode(200, 200), «SFML Works!»);
// Главный цикл приложения: выполняется, пока открыто окно
while (window.isOpen())
{
// Обрабатываем очередь событий в цикле
Event event;
while (window.pollEvent(event))
{
// Пользователь нажал на «крестик» и хочет закрыть окно?
if (event.type == Event::Closed)
window.close(); // тогда закрываем его
}
// Установка цвета фона
window.clear(Color(250, 220, 100, 0));
// Создаем фигуру — круг радиусом 50
CircleShape circle(50.f);
// Закрашиваем наш круг
circle.setFillColor(Color(230, 0, 230));
// Отрисовка круга
window.draw(circle);
// Отрисовка окна
window.display();
}
return 0;
}
1 |
#include <SFML/Graphics.hpp> usingnamespacesf;// подключаем пространство имен sf intmain() { // Объект, который, собственно, является главным окном приложения RenderWindow window(VideoMode(200,200),»SFML Works!»); // Главный цикл приложения: выполняется, пока открыто окно while(window.isOpen()) { // Обрабатываем очередь событий в цикле Eventevent; while(window.pollEvent(event)) { // Пользователь нажал на «крестик» и хочет закрыть окно? if(event.type==Event::Closed) window.close();// тогда закрываем его } // Установка цвета фона window.clear(Color(250,220,100,)); // Создаем фигуру — круг радиусом 50 CircleShape circle(50.f); // Закрашиваем наш круг circle.setFillColor(Color(230,,230)); // Отрисовка круга window.draw(circle); // Отрисовка окна window.display(); } return; } |
Результат выполнения программы:
Наша фигура может иметь контур. Для его создания используется метод setOutlineThickness(), а для цвета контура — setOutlineColor():
// …вышеприведенный код до строки №21
// Установка цвета фона
window.clear(Color(250, 220, 100, 0));
// Создаем фигуру — круг радиусом 50
CircleShape circle(50.f);
// Закрашиваем наш круг
circle.setFillColor(Color(230, 0, 230));
// Устанавливаем толщину контура круга
circle.setOutlineThickness(15.f);
// Устанавливаем цвет контура
circle.setOutlineColor(Color(80,220,50));
// Отрисовка круга
window.draw(circle);
// Отрисовка окна
window.display();
}
return 0;
}
1 |
// …вышеприведенный код до строки №21 // Установка цвета фона window.clear(Color(250,220,100,)); // Создаем фигуру — круг радиусом 50 CircleShape circle(50.f); // Закрашиваем наш круг circle.setFillColor(Color(230,,230)); // Устанавливаем толщину контура круга circle.setOutlineThickness(15.f); // Устанавливаем цвет контура circle.setOutlineColor(Color(80,220,50)); // Отрисовка круга window.draw(circle); // Отрисовка окна window.display(); } return; } |
Результат выполнения программы:
Как уже знаем из предыдущего урока, при закрашивании фигур или фона можно еще указать значение прозрачности. Например, строкой мы устанавливаем в качестве значения прозрачности контура:
А теперь с помощью строки мы установим в качестве значения прозрачности контура:
Вы уже наверняка заметили, что наш круг выходит за границы окна, а это не совсем хорошо. Нужно его немного подвинуть, а поможет нам в этом метод move():
// Перемещаем круг для корректного отображения в окне
circle.move(15, 15);
1 |
// Перемещаем круг для корректного отображения в окне circle.move(15,15); |
Результат выполнения программы:
Поворот объемной фигуры
Если же мы добавим эффект поворота объемной фигуры к уже примененным эффектам, мы сможем получить совершенно другое изображение, которое будет не просто подчеркивать содержимое фигуры, но и будет иметь совершенно особый вид. Необходимо подчеркнуть, что умело применяя повороты, можно основательно изменить общий вид изображения, и даже обычный рисунок сделать невероятно интересным. Где это может быть применимо? Направлений масса: подготовка докладов по графическому дизайну, веб-дизайну, подготовка контрольных, курсовых и дипломных работ студентами, подготовка презентационных документов (с большим объемом текстовой информации), подготовка докладов с акцентом на наглядность и большое количество графического контента и так далее.
Для примера использования поворота объемной фигуры, возьмем прошлое изображение, с теми же настройками.
- Щелкните по изображению, затем по вкладке «Формат» и в группе «Стили рисунков» откройте меню «Эффекты рисунка»;
- В меню «Поворот объемной фигуры», в группе «Перспектива» выберите образец «Перспектива, контрастная, слева».
Как видите, изображение развернулось влево и стало несколько более контрастным, но главное, что теперь оно выглядит кардинально другим. По сути, мы видим уже не просто рисунок с эффектом объема, а трехмерную фигуру, имеющую свои формы, положение, а также тип и угол освещения.
Рисунок 6 — Поворот объемной фигуры
Вы можете выбирать различные заготовки из меню «Поворот объемной фигуры» на ленте, подбирая оптимальный вид для изображения. А в окне «Поворот объемной фигуры» окна «Формат рисунка» можно задать поворот по осям, вид в перспективе, расстояние от земли, а также оставить текст плоским (когда необходимо что бы текст оставался неизменным). Кроме того, можно выбирать различные образцы поворота объемной фигуры, не используя для этого ленту.
Проведя несложную настройку, можно добиться совершенно новых и почти непохожих друг на друга видов изображения, используя всего один образец рисунка (рисунок 6).
Рисунок 7 Различные эффекты рельефа и поворота объемной фигуры
Рисование поверх изображения в Python
В предыдущих примерах мы рисовали фигуры на изображении со сплошным фоном, сгенерированным через метод . Если мы откроем имеющийся изображение через , то на неё можно что-то нарисовать.
В качестве примера мы будем использовать изображение создателя языка программирования Python, Гвидо ван Россума.
Сохраните у себя файл: guido-van-rossum.jpg
Python
from PIL import Image, ImageDraw
im = Image.open(‘guido-van-rossum.jpg’)
draw = ImageDraw.Draw(im)
draw.pieslice(
xy=(15, 50, 140, 175),
start=30, end=330,
fill=’red’
)
im.save(‘guido-with-pieslice.jpg’, quality=95)
1 2 3 4 5 6 7 8 9 10 11 12 |
fromPIL importImage,ImageDraw im=Image.open(‘guido-van-rossum.jpg’) draw=ImageDraw.Draw(im) draw.pieslice( xy=(15,50,140,175), start=30,end=330, fill=’red’ ) im.save(‘guido-with-pieslice.jpg’,quality=95) |
Полученный результат:
Практическая работа: Конструируем и исследует графические объекты
Практическую работу необходимо выполнить в графическом редакторе Paint, который есть в любом офисном пакете. Удобство использования данного графического редактора для изучения данной темы подчеркивается тем, что именно в Paint довольно легко рисовать объемные фигуры.
Примерами конструкций могут служить любые фигуры, которые можно сложить из кубиков, рассмотрим их на рисунке 1.
Рисунок 1 — Примеры конструкций из кубиков в программе Paint
При конструировании в программе Paint необходимо соблюдать несколько правил. Во-первых, любую конструкцию в программе необходимо начинать с сзади, снизу и слева. Следовательно, устанавливаем сначала кубики, которые находятся на заднем плане, затем конструируем низ объемной фигуры и слева объемную фигуру. И только потом достраиваем объемную фигуру с других сторон, последовательно добавляя кубики.
И так, сначала необходимо нарисовать первый кубик в программе Paint. С этой целью после открытия программы создаем новый лист:
Рисунок 2 — Новый лист для работы
На чистом листе рисуем первый куб, используя фигуру –квадрат и линии. Цвет обводки квадрата и линий берем черный.
Сначала просто нажимаем на фигуру квадрат и на чистом листе квадрат формируем необходимого размера. Изменить размер квадрата можно выделив наш квадрат кнопочкой нажав на кнопочку «Выделить – прозрачное выделение» (рисунок 2) , а затем на кнопочку «Изменить размер».
Рисунок 3 -Выделение — прозрачное выделение для копирования и вставки одинаковых фигур в программе Point
В открывшемся окошке редактируем размер квадрата.
Рисунок 4 — Редактор размера фигуры
Далее выделяем квадрат прозрачным выделением, вызываем правой кнопкой мыши меню и наживаем «Копировать». Также можно воспользоваться основным верхним меню программы для копирования объекта.
Затем нажимаем на «Вставить».
В этот момент получаем второй квадрат по размерам идентичный первому.
Передвигаем квадрат так, чтобы они стояли друг за другом.
Рисунок 5 — Размещение двух квадратов друг за другом для формирования куба
Далее стираем лишние линии, которые не видны за первым квадратом и получаем незаконченный куб.
Стирать ненужные линии можно ластиком, толщина ластика также может регулироваться при помощи кнопочки «толщина»
Чтобы движения при стирании были более четкими можно левой рукой зажать клавишу Ctrl, а правой стирать лишние линии.
Рисунок 6 — Стираем лишние линии
Теперь осталось только дорисовать ребрышки куба. Этому поможет также клавиша Ctrl, которую необходимо нажать, когда будете проводить линию от угла одного квадрата к углу другого.
Также можно нарисовать ребро отдельно и скопировать его три раза, а затем поставить ребра на места
Следует обратить внимание, чтобы копирование происходило на прозрачном фоне. Тогда ребра не повредят основанию куба
Рисунок 7 — Дорисовываем куб
Куб готов и его надо закрасить, используя в меню инструментов кнопочку «Заливка»
Делаем заливку куба. Впереди выбираем светлее оттенок, а по боковым стекам выбираем темнее оттенок.
Рисунок 8 — Делаем заливку куба
Значок «Заливка» находится в инструментах. Выбираем цвет заливки, причем внимательно следим. Основной цвет заливки находится в панели инструментов под названием «Цвет 1»
Заготовку «КУБ» видно на рисунке 9.
Рисунок 9 — Заготовка куба для конструирования
Далее необходимо скопировать этот куб и вставить то количество, которое необходимо, чтобы сделать фигуру. При необходимости, размер куба можно уменьшить.
Проделываем процедуру «Копировать – вставить» столько раз, сколько нужно.
Теперь кубики необходимо поставить друг на друга так, чтоб получилась необходимая фигура.
Помним, что фигуру начинаем собирать сзади, снизу и слева.
Для этого выделяем отдельный кубик и перемещаем его в нужное место.
Сначала я собираю кубики сзади.
Рисунок 10 — Последовательность сборки фигуры из кубиков
Если кубиков оказалось мало, то последний не установленный в конструкцию кубик копируем снова.
Рисунок 11 — Продолжение построения конструкции
После того, как фигуру построили, фигуру можно уменьшить или увеличить, воспользовавшись кнопочкой «Изменить размер»
Рисунок 12- Готовая конструкция
Затем работу подписываем: Фамилию, имя, класс и сохраняем через главное меню, как показано на рисунке 14.
Рисунок 13 -Сохранение работы
На одном листочке можно сконструировать несколько фигур в зависимости от работы воображения.
Задания в редакторе Paint.
1. Нарисуйте фигуры, дорисуйте до квадрата эти фигуры.Все линии рисуйте с помощью инструмента Прямая, удерживая клавишу Shift.2. Нарисуйте в графическом редакторе изображение, в пустую ячейку подберите недостающую фигуру.3. Изобразите в рабочем поле графического редактора сплетение карандашей, как показано. Для этого воспользуйтесь инструментом Прямая, создайте изображения рисунка 6, а затем удалите ненужные фрагменты линий Ластиком.4. Что можно нарисовать из треугольников? Сконструируйте свои рисунки из треугольников и нарисуйте их в рабочей области графического редактора, пользуясь только инструментом Многоугольник.5. На куб мы смотрим справа сверху. В рабочей области графического редактора нарисуйте пунктиром кубы на и, затем проведите сплошные линии так, чтобы куб был виден слева снизу, слева сверху, справа снизу.6. Рассмотрите рисунок и изобразите его в рабочей области графического редактора. Что за странный куб изображён на нём? Что в нём необычного? Можно ли сконструировать такой куб из проволоки?7. Рассмотрите картинки на рисунке. Изобразите их в рабочей области графического редактора с помощью инструментов Прямоугольник и Прямая, постоянно удерживая клавишу Shift.Данные фигуры относятся к неоднозначным. В чём состоит неоднозначность этих фигур?8. На рисунке кругами обозначены: множество всех пап, множество всех высоких людей и множество родителей, умеющих плавать. Изобразите данный рисунок, используя инструменты Эллипс, Надпись и Прямая.А) Закрась синим цветом область, которая обозначает множество всех высоких пап, не умеющих плавать.Б) Закрась красным цветом область, которая обозначает множество всех невысоких мам, умеющих плавать.9. Магическая пирамида. Можешь ли ты разместить цифры 1, 2, 3, 4, 5 и 6 в кружках на рисунке? В каждый кружок можно поместить только одну цифру, и все цифры должны быть использованы. Когда вы расставите все цифры, суммы трех цифр на каждой стороне должны быть одинаковы.Изобразите решение данной задачи в окне программы Paint.10. Используя рисунок, впиши число, которое должно располагаться в центре последнего круга.Изобразите решение данной задачи в окне программы Paint.Копирование. Вставка. Вырезание.1
Окружность как совершенная геометрическая форма всегда привлекала к себе внимание художников, архитекторов. На рисунке 20 дан эскиз ворот Таврического дворца в Санкт-Петербурге
Особую воздушность придают воротам окружности, сплетённые в орнамент.Изобразите данный эскиз в рабочей области графического редактора. Начните работу с простых элементов. Затем начертите вертикальную среднюю линию и одну из горизонтальных. При помощи копирования и выделения без фона составьте элементы в нужном порядке и дорисуйте оставшиеся горизонтальные линии.2. Орнамент состоит из частей, изображенных на последнем элементе рисунка, показывающем алгоритм рисования данной фигуры.Некоторые части данной фигуры окрашены в серый и чёрный цвета. Используя тот факт, что если радиус одного круга в два раза больше радиуса другого круга, то площадь первого в четыре раза больше площади второго, покажите, что для окраски частей данного орнамента потребуется равное количество серой и чёрной краски.3. Для двух кубиков сделали по три развёртки и перемешали их. Найдите развёртки каждого кубика.а) б) в) г) д) е)Изобразите условие данной задачи в графическом редакторе. Разместите развёртки каждого куба в разных частях рабочей области.4. На рисунке изображены кубик и три развёртки. Какие из них именно могут быть развёртками этого куба?Изобразите условие данной задачи в графическом редакторе. Обведите правильный куб красным прямоугольником.
Редактирование параметрических объектов.
В кореле много объектов, специальные параметры которых можно редактировать при помощи объектов «форма».
Редактирование звезды.
Возьмём, к примеру, звезду. Мы можем сделать из неё тупоносую звезду, пятиугольник либо звезду с острыми лучами, как на рисунке ниже. Всё это можно сделать инструментом форма, потянув за маркер.
Редактирование звезды в Corel Draw
Пример редактирования окружности.
Окружность отредактированная в кореле при помощи инструмента форма
Окружность мы можем преобразовать в сектор или в незамкнутую окружность.
Для последующего более детального редактирования нужно нажать Ctrl + Q, при выделенном объекте.
Редактирование прямоугольника.
Редактирование прямоугольника в кореле
Когда мы редактируем «параметрический» прямоугольник, то мы работаем с его углами. Параметрический в данном случае значит, что объект, пока-что, не конвертирован в кривые, т.е. имеет ряд редактируемых параметров.
Как закруглить углы у прямоугольника в кореле? Очень просто! Кликаем по инструменту «Форма» и перетаскиваем маркер на углу ближе к центру. Углы скругляются или скашиваются в зависимости от ваших настроек.
Редактирование углов прямоугольника
Для того чтобы сделать углы скошенными или впалыми нужно всего лишь изменить настройки на главной панели вверху на требуемые.
Кнопки на панели инструментов корел дроу углы
Рисование эллипса и прямоугольника в Python
- Эллипс (Круг): ;
- Прямоугольник (Квадрат): .
Метод рисует эллипс, область рисования указывается в параметр . Если мы зададим четыре координата которые будут соответствовать квадрату, то у нас получится ровный круг.
Нарисуем небольшой смайл используя круги.
Python
from PIL import Image, ImageDraw
image = Image.new(‘RGB’, (90, 90), ‘white’)
draw = ImageDraw.Draw(image)
draw.ellipse((0, 0, 90, 90), ‘yellow’, ‘blue’)
draw.ellipse((25, 20, 35, 30), ‘yellow’, ‘blue’)
draw.ellipse((50, 20, 60, 30), ‘yellow’, ‘blue’)
draw.arc((20, 40, 70, 70), 0, 180, 0)
image.save(‘draw-smile.jpg’)
1 2 3 4 5 6 7 8 9 10 |
fromPIL importImage,ImageDraw image=Image.new(‘RGB’,(90,90),’white’) draw=ImageDraw.Draw(image) draw.ellipse((,,90,90),’yellow’,’blue’) draw.ellipse((25,20,35,30),’yellow’,’blue’) draw.ellipse((50,20,60,30),’yellow’,’blue’) draw.arc((20,40,70,70),,180,) image.save(‘draw-smile.jpg’) |
Результат:
Параметры методов рисования – справочник
Да, способы рисования отличаются в зависимости от метода, который используется. Тем не менее, такие параметры являются общими для всех.
Область рисования
Этот параметр обозначается, как xy. С его помощью мы задаем прямоугольную область, которая будет использоваться для рисования новой фигуры.
Есть такие форматы:
(((Верхняя левая x координата, Верхняя левая y координата), (нижняя правая x координата, нижняя правая y координата)); (Верхняя левая x координата, Верхняя левая y координата, нижняя правая x координата, нижняя правая y координата).
Если рисуется линия, многоугольник или точка, то используются множественные координаты вместо двух точек, которые представляют прямоугольную область.
(x1, y1, x2, y2, x3, y3...); ((x1, y1), (x2, y2), (x3, y3)...).
Принцип работы следующий:
- Линия. Реализуется с помощью метода line, который связывает точки между собой.
- Многоугольник. Чтобы его создать, необходимо использовать метод polygon(). Он работает по похожему принципу, соединяя линиями указанные точки, только в конечном итоге линия должна получиться замкнутой.
- Точка. Реализуется с использованием метода point(). Она рисует точку размером в 1 пиксель для каждой точки, которая указывается.
Заполнение фигуры с помощью параметра fill
С помощью параметра fill мы определяем цвет, который будет использоваться для того, чтобы заполнить геометрическую форму.
Здесь на спецификацию формата цвета влияет режим изображения, который указывается для объекта Image.
- RGB. В этом случае формируется цветное изображение. В этом случае цвет указывается в формате: красный-зеленый-синий (R,G,B).
- L. Генерируется черно-белая геометрическая фигура. Здесь нужно указать одну цифру в пределах от 0 до 255. Допускаются исключительно целочисленные значения.
По умолчанию используется значение None, что означает отсутствие фона фигуры. То есть, она не заполняется никаким цветом, принимая тот фон того участка, что находится под ней.
К слову, цвет можно указать тремя способами: передать его цветом, использовать шестнадцатеричный формат или указать интенсивность красного, зеленого и синего оттенков в палитре RGB.
Задание цвета границ с использованием параметра outline
Если нужно указать, какого цвета должна быть граница многоугольника, используется параметр outline.
Цвет задается абсолютно так же, как это происходит в случае с параметром fill, который обсуждался ранее. По умолчанию используется значение None. То есть, границы отсутствуют.
Указание толщины границ с использованием параметра width
Нет разницы, какая фигура вами будет рисоваться. Вы всегда имеете возможность задать размер ее границы с помощью этого параметра. Толщина задается в пикселях.