Содержание

|Рисование графических графических примитивов в растровых и векторных графических редакторах.

Область рисования. 
Для создания рисунка традиционными методами необходимо выбрать полотно (лист бумаги или холст) определенного размера и ориентации. В графических редакторах можно выбрать параметры области рисования (размер, поля и ориентацию), которая называется страницей, листом или слайдом
Можно занять рисунком всю площадь области рисования или оставить по краям поля. Поля оставлять рекомендуется, так как не все принтеры могут распечатывать листы без полей.Область рисования может иметь различные размеры. Наиболее распространенным является формат А4, который соответствует размеру стандартного листа писчей бумаги (шириной 21 см и высотой 29,7 см), часто используются вполовину меньший формат А5 (шириной 14,8 см и высотой 21 см) или в два раза больший формат A3 (шириной 29,7 см и высотой 42 см).

Область рисования можно расположить вертикально (ширина листа меньше высоты) — такая ориентация называется книжной. Область рисования можно также расположить горизонтально (ширина листа больше высоты) — такая ориентация называется альбомной.

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

Кнопки для рисования графических примитивов находятся на панели инструментов, которая обычно размещается вертикально, вдоль левого края окна графического редактора . Для рисования выбранного объекта необходимо щелкнуть на кнопке с его изображением на панели инструментов и переместить указатель мыши в поле рисования, где он примет форму крестика. Затем щелчками в поле рисования требуется зафиксировать положения опорных точек рисуемого объекта.

Процедуры рисования графических примитивов в растровом и векторном редакторах практически одинаковы, однако существенно различаются результаты рисования. В растровом графическом редакторе нарисованный объект перестает существовать как самостоятельный элемент после окончания рисования и становится лишь группой пикселей на рисунке. В векторном редакторе этот объект продолжает сохранять свою индивидуальность, и можно его копировать, перемещать, изменять его размеры, цвет и прозрачность.


Линия. Для рисования линии необходимо выбрать на панели инструментов графический примитив Линия, поместить указатель мыши в определенное место окна редактора и щелчком зафиксировать точку, из которой должна начинаться линия. Затем надо перетащить линию в нужном направлении и, осуществив повторный щелчок, зафиксировать конец линии.

Существует возможность перед рисованием задать тип линии (сплошная, пунктирная и т. д.), ее толщину и цвет с помощью дополнительных меню.

Кривая. Для рисования кривой необходимо выбрать графический примитив Кривая, нарисовать произвольную линию и перетаскиванием мышью придать ей требуемую форму.

Прямоугольник. Для рисования прямоугольника необходимо выбрать графический примитив Прямоугольник, щелчком зафиксировать положение первой вершины, перетащить указатель по диагонали и зафиксировать положение второй вершины.

Многоугольник. Для рисования многоугольника необходимо выбрать графический примитив Многоугольник, последовательно щелчками зафиксировать положение вершин и двойным щелчком зафиксировать положение последней вершины.

Овал и окружность. Для рисования овала необходимо выбрать графический примитив Овал (Эллипс), щелчком мыши зафиксировать положение точки овала, перетащить указатель по диагонали и зафиксировать положение точки, противоположной относительно центра овала. Если в процессе рисования держать нажатой клавишу {Shift}, то будет нарисована окружность.

Палитра цветов. Различают цвет линий, которым рисуются контуры геометрических примитивов, и цвет заливки, которым закрашиваются внутренние области примитивов. Операцию выбора цвета можно осуществлять с помощью меню Палитра, содержащего набор цветов, используемых при создании объектов.

Расширенная палитра. Выбор цвета с использованием меню Палитра ограничен, так как оно содержит только несколько десятков цветов. Однако графические редакторы позволяют использовать расширенную палитру цветов, в которой можно осуществлять выбор среди набора из десятков миллионов цветов.

Пипетка. В растровых графических редакторах для копирования цветов можно использовать инструмент Пипетка. Щелчок мышью по области с требуемым цветом задает его в качестве цвета линий или цвета заливки.

Если навести указатель мыши на кнопку на панели инструментов графического редактора, то появится всплывающая подсказка с названием инструмента.

Рисование графических примитивов | Pygame #2

  • Pygame
  • Что такое Pygame? Каркас приложения, FPS
  • Рисование графических примитивов
  • Как обрабатывать события от клавиатуры
  • Как обрабатывать события от мыши
  • Создание поверхностей (Surface), их анимация, метод blit
  • Класс Rect. Его роль, свойства и методы
  • Как рисовать текст различными шрифтами
  • Как работать с изображениями. Модули image и transform
  • Что такое спрайты и как с ними работать
  • Как делать контроль столкновений
  • Добавляем звук в игровой процесс. Модули mixer и music
  • Поделиться

    Наш канал

Смотреть материал на видео

На этом занятии рассмотрим функции модуля pygame.draw для рисования графических примитивов:

  • pygame.draw.rect(surface, …) – прямоугольник;
  • pygame.draw.line(surface, …) – линия;
  • pygame.draw.aaline(surface, …) – сглаженная линия;
  • pygame.draw.lines(surface, …) – ломаная линия;
  • pygame.draw.aalines(surface, …) – ломаная сглаженная линия;
  • pygame. draw.polygon(surface, …) – полигон;
  • pygame.draw.circle(surface, …) – круг;
  • pygame.draw.ellipse(surface, …) – эллипс;
  • pygame.draw.arc(surface, …) – дуга.

Обратите внимание у всех этих функций первым параметром идет surface – поверхность, на которой выполняется рисование. Забегая вперед отмечу, что таких поверхностей можно создавать множество, накладывая друг на друга. Но на этом занятии мы будем использовать базовую поверхность, представляющую клиентскую область окна приложения:

Ссылку на этот объект можно получить в момент создания окна:

sc = pygame.display.set_mode((600, 400))

(здесь sc – ссылка на базовый объект Surface). Давайте теперь нарисуем в окне прямоугольник с помощью функции rect:

pygame.draw.rect(sc, (255,255,255), (10,10, 50, 100))

Мы здесь первым параметром указали главную поверхность, затем, цвет прямоугольника и его размеры. Цвет определяется в формате (R, G, B). Причем, каждая цветовая компонента меняется в диапазоне от 0 до 255:

  • 0 – отсутствие цветовой составляющей;
  • 255 – полная насыщенность цветовой составляющей.

В данном случае мы включаем все три цветовые компоненты по максимуму и получаем белый цвет. Далее, размеры прямоугольника определяются по формату:

(x, y, width, height)

  • x, y – начальные координаты прямоугольника;
  • width, height – ширина и высота прямоугольника.

Обратите внимание, что координаты откладываются от верхнего левого угла и ось Oy направлена вниз (а не вверх, как мы привыкли по математике).

Итак, указание нарисовать прямоугольник даны. Но если сейчас выполнить программу, то мы ничего не увидим на экране. Почему? Это связано с тем, что базовый объект Surface использует механизм рисования, известный как

буферизация вывода.

Ее принцип проще пояснить на таком рисунке. Представим, что объект Surface имеет две стороны A и B:

Изначально мы видим сторону B, но рисование выполняется на противоположной стороне – A. Затем, чтобы отобразить нарисованные объекты, мы должны перевернуть объект Surface другой стороной. В PyGame это делается с помощью функции flip():

pygame.display.flip()

Теперь при запуске программы мы видим сторону A с нарисованным прямоугольником. В этом заключается принцип буферизации вывода графической информации. Но спрашивается: зачем все это нужно? Почему бы сразу не рисовать на видимой стороне объекта? В этом случае при большом числе объектов и сложной анимации пользователь будет замечать процесс отрисовки текущего кадра игры. И это негативно скажется на визуальном восприятии игрового процесса. Чтобы перерисовка кадров проходила незаметно для человеческого глаза, как раз и используется механизм буферизации.

Помимо метода flip() можно использовать похожий метод:

pygame.display.update(rectangle)

Здесь rectangle – это прямоугольная область, которую требуется перерисовать (по умолчанию, если ничего не указано, то перерисовывается вся клиентская область и метод update повторяет метод flip).

Так как метод update более гибкий, то в дальнейшем я буду использовать именно его.

Итак, мы с вами нарисовали закрашенный прямоугольник. Если нужно нарисовать не закрашенный, то следует указать следующий параметр – толщину линии:

pygame.draw.rect(sc, (0, 0, 255), (100, 10, 50, 100), 2)

Разумеется, все функции рисования должны следовать до метода update. Наконец, последний важный штрих. Цвета заливки или линий обычно задаются вначале в виде констант, а затем, уже используются в функциях рисования:

WHITE = (255, 255, 255)
BLUE = (0, 0, 255)
 
pygame. draw.rect(sc, WHITE, (10, 10, 50, 100))
pygame.draw.rect(sc, BLUE, (100, 10, 50, 100), 2)
pygame.display.update()

Так программа выглядит более читабельной. Давайте теперь посмотрим как рисуются остальные графические примитивы:

WHITE = (255, 255, 255)
BLUE = (0, 0, 255)
GREEN = (0, 255, 0)
RED = (255, 0, 0)
 
pygame.draw.rect(sc, WHITE, (10, 10, 50, 100))
pygame.draw.rect(sc, BLUE, (100, 10, 50, 100), 2)
 
pygame.draw.line(sc, GREEN, (200, 20), (350, 50))
pygame.draw.aaline(sc, GREEN, (200, 40), (350, 70))
 
pygame.draw.lines(sc, RED, True, [(200, 80), (250, 80), (300, 200)], 2)
pygame.draw.aalines(sc, RED, True, [(300, 80), (350, 80), (400, 200)], 2)
 
pygame.draw.polygon(sc, WHITE, [[150, 210], [180, 250], [90, 290], [30, 230]])
pygame.draw.polygon(sc, WHITE, [[150, 310], [180, 350], [90, 390], [30, 330]], 1)
 
pygame.draw.circle(sc, BLUE, (300, 250), 40)
pygame.draw.ellipse(sc, BLUE, (300, 300, 100, 50), 1)
 
pi = 3.14
pygame.draw.arc(sc, RED, (450, 30, 50, 150), pi, 2*pi, 5)

Вот такие примитивы существуют в PyGame.

Видео по теме

Что такое Pygame? Каркас приложения, FPS | Pygame #1

Рисование графических примитивов | Pygame #2

Как обрабатывать события от клавиатуры | Pygame #3

Как обрабатывать события от мыши | Pygame #4

Создание поверхностей (Surface) и их анимация. Метод blit | Pygame #5

Класс Rect. Его роль, свойства и методы | Pygame #6

Как рисовать текст различными шрифтами | Pygame #7

Как работать с изображениями. Модули image и transform | Pygame #8

Что такое спрайты и как с ними работать | Pygame #9

Как делать контроль столкновений | Pygame #10

Добавляем звук в игровой процесс. Модули mixer и music | Pygame #11

  • Предыдущая
  • Следующая

Графические планшеты для рисования и цифровые альбомы для рисования с экраном | XPPen

Приложения продукта

Цифровой рисунок

Профессиональный дизайн

Монтаж видео

Образовательные приложения

Произведение искусства

47864 18 587

49270 15 1171

41053 8 1164

19766 2 328

Подробнее

Новости

Подробнее

О XPPen

Созданная в 2005 году, XPPen в настоящее время является одним из ведущих брендов под управлением HANVON UGEE, интегрированным с цифровыми продуктами для рисования, контентом и услугами в качестве всемирно известного цифрового бренда инновации в цифровом искусстве.

Компания XPen со штаб-квартирой в Шэньчжэне, Китай, может похвастаться 6 зарубежными дочерними компаниями (филиалами) и более чем 50 агентами, покрывающими своей продукцией более 130 стран и регионов.

Благодаря своей прогрессивной технологии цифрового рукописного ввода после более чем 10-летнего накопления и инноваций, XPPen считает, что инновационные, модные и передовые продукты и экосистема могут принести больше дальновидного вдохновения художникам и энтузиастам нового поколения, побуждая их смело преследовать мечты и реализовывать их подлинное самовыражение.

Просмотреть больше

Рисование линии: графические квадраты | Deep Space Sparkle

Эти графические линейные иллюстрации идеально подходят для четвертого класса, когда многие дети любят рисовать. Вместо того, чтобы оставлять рисунки черно-белыми, вы можете пойти еще дальше и раскрасить их маркером или акварельными красками.

Рисование сетки

На самом деле неважно, как дети делят свою бумагу, но я могу сказать вам, как проще всего. Две прямые линии по бумаге и две линии вниз. Простой. Конечно, некоторые дети будут немного сходить с ума, добавляя пересекающиеся линии, но они поймут, что этот метод ограничивает возможности.

Рисование форм, линий и узоров

Этот шаг может быть веселым или разочаровывающим. Многие дети отправятся в город, создавая свои линии и узоры, но многие этого не сделают. Срок действия идей истекает после второго квадрата, так что будьте хорошим скаутом и будьте готовы. Имейте множество закорючек и узоров, доступных для них.

Это можно сделать несколькими способами. Либо предоставьте им удобный раздаточный материал (очевидно, это не мой метод, иначе он был бы включен в этот пост), либо выйдите из себя и создайте несколько своих собственных шаблонов на доске. Мозговой штурм. Веселиться. Создайте несколько паршивых шаблонов и несколько хороших. Не обязательно быть идеальным.

Совет: используйте водостойкий черный маркер. Идеальным выбором являются маркеры, но если такие ручки недоступны, используйте маркеры Prismacolor. Дорого, но водонепроницаемы. Чтобы полностью избежать проблемы с водонепроницаемостью, не используйте акварельные краски на шаге 3.

Окрашивание

Как я упоминал выше, вы должны использовать водостойкий черный маркер, если собираетесь рисовать узоры. Если этого не сделать, на бумаге останутся черные пятна. Я подверг один из таких классов этой досадной ошибке, и, хотя дети были полны энтузиазма, я знаю, что это вызвало внутреннее смятение у моих юных художников. Но давайте посмотрим правде в глаза, использование маркеров проще и требует меньше настроек. Так что выкопайте свои корзины с маркерами и дайте детям заняться этим. Это отличное занятие для детей, которое можно закончить в «свободное время», поэтому держите искусство доступным.

Сделать искусство драматическим

Чтобы добавить изюминку этой работе, добавьте полоски черной плотной бумаги вдоль прямых линий. Используйте клей-карандаш и убедитесь, что дети отрезают концы.

Автор записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *