Выделение произвольной области рисунка в PaintCAD Mobile/4Windows

Ответить
Аватара пользователя
blackstrip
Админ
Сообщения: 1176
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Выделение произвольной области рисунка в PaintCAD Mobile/4Windows

Сообщение blackstrip » Вс дек 04, 2016 7:03 pm

Открываем MS Paint - там есть выделение произвольной области:
Изображение

Открываем старый MS Paint Brush из Windows 95-XP, открываем Adobe Photoshop, открываем любой другой растровый редактор графики - там везде тоже есть выделение произвольной области.

Открываем PaintCAD - там посвящен выделению единственный пункт в меню Выделения и буфера обмена (Alt+Ю в PCW, # в PCM), но на нем нарисовано прямоугольное выделение!
Изображение

Пробуем выделить фрагмент рисунка - да, это обычное прямоугольное выделение.
Изображение

Так как же выделить произвольную часть рисунка чтобы потом перенести ее на другой рисунок или применить к ней эффект?

Маскирование

PaintCAD вырос на мобильной J2ME платформе, на которой количество оперативной памяти всегда небольшое (например, 500 КБайт, 1 Мбайт или 2 Мбайт). Для создания "произвольного выделения" пришлось бы создавать дополнительный буфер, в который бы запоминалось какой пиксель входит в выделенную область, а какой не входит. А лишний буфер в памяти - это еще меньше памяти для хранения самого рисуемого изображения. Поэтому вместо "произвольного выделения" было введено "маскирование", которое не требует создания дополнительных буферов и экономит память!

Суть такова:
1) у нас есть рисунок, на котором мы хотим выделить произвольную область (скриншот титульного экрана игры Open Transport Tycoon Deluxe)
Изображение

2) выбираем в палитре цвет, которого ТОЧНО НЕТ на рисунке. Обычно это ярко-зеленый RGB=0;255;0 или ярко-фиолетовый RGB=255;0;255. Я возьму ярко-фиолетовый RGB=255;0;255.
Изображение

Чтобы проверить, что фиолетового цвета RGB=255;0;255 точно нет на рисунке - можно использовать "Поиск пикселя" (поиск пикселей есть только в Windows-версии паинткада).

Вызываем поиск пикселя (нажмите 0 (ноль) на клавиатуре чтобы показать верхнее меню):
Изображение

Выбираем искомый цвет:
Изображение

Убеждаемся, что его нет по строке статуса (а если будет найден - то курсор будет перемещен в место на рисунке, где находится пиксель искомого цвета):
Изображение

3) Включаем инструмент "Полилиния".
Изображение

4) Обрисовываем нужные объекты полининией в замкнутые контуры. Точно также как при выделении произвольной области в MS Paint или в Adobe Photoshop с помощью "лассо". Для прерывания текущего контура и старта нового - просто выберите инструмент "Полилиния" в меню инструментов еще раз.

Я взял в контуры буквы TTD и окно.
Изображение

Вот обрисованные контурами буквы при увеличении. Внутри D тоже контур.
Изображение

5) Включаем инструмент "Заливка 2".
Изображение

Этот инструмент заливает цветом ПЦ до тех пор, пока не упрется в конкретный цвет ЗЦ. Более подробно о "Заливке 2" можно прочитать в помощи по F1.
Изображение

6) Для заливки в ПЦ и в ЗЦ надо положить фиолетовый цвет RGB=255;0;255.

Почему: потому что надо залить все фиолетовым цветом кроме очерченных контурами фигур. Т.е. заливать цветом ПЦ "Фиолетовый" весь фон рисунка до тех пор, пока заливка не упрётся в цвет ЗЦ - т.е. в наши контуры цвета "Фиолетовый".

Кладём RGB=255;0;255 в ПЦ и ЗЦ:
Изображение

7) Льем "Заливку 2" в левый верхний угол картинки. Она, как положено, дотекает до наших фиолетовых (цвета ЗЦ) контуров и останавливается.
Изображение

Внутри D осталась незалитая, но очерченная фиолетовым контуром область. Льем "Заливку 2" и туда тоже.
Изображение

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

Вставка маскированных объектов на другой рисунок

1) Копируем наш рисунок с фиолетовой маской в буфер через команду "Копировать" в меню "Выделение и буфер обмена" (Alt+Ю в PCW, # в PCM)
Изображение

Или просто через меню "Правка"-"Копировать" (или по Ctrl+C) (нажмите 0 (ноль) на клавиатуре чтобы показать верхнее меню):
Изображение

2) Открываем рисунок, на который будем вставлять маскированные объекты. Я взял скриншот титульного экрана Worms 3D.
Изображение

3) Обычная "Вставка" не учитывает маски, а просто вываливает все, что было в буфере, на рисунок. Поэтому воспользуемся "Спецвставкой".
Вызываем "Спецвставку" в меню "Выделение и буфер обмена" (Alt+Ю в PCW, # в PCM)
Изображение

Или просто через меню "Правка"-"Спецвставка" (или по Ctrl+Alt+V):
Изображение

4) Спецвставка просит указать "прозрачный цвет", т.е. цвет маски.

Она вставит все пиксели рисунка КРОМЕ выбранного цвета. Нам как раз это и нужно.
Выбираем кнопкой "Пробел" фиолетовый цвет маски RGB=255;0;255 как прозрачный цвет на рисунке.
Изображение

5) Далее Спецвставка попросит указать место куда вы желаете вставить маскированные объекты из буфера.
Изображение

Слева внизу окна показывается точка опоры. Кнопками Q,W,E,A,S,D,Z,X,C или кликом мыши на эти ячейки точки опоры можно выбрать с какой стороны от курсора будет вставляемое изображение.
Дополнительные возможности окна вставкиПоказать
Кнопкой F2 можно развернуть окно на весь экран (чтоб лучше было видно вставляемые объекты и место, куда они будут вставлены).

Кнопкой с красной мишенью внизу окна (или по Ctrl+G) можно указать конкретные координаты вставки X:Y.

Синей кнопкой "Случайно" (или по Shift+R) можно выбрать случайную позицию вставки (иногда требуется вставить несколько объектов в случайные места).

Кнопкой "Прокрутка" (или по Shift+S) можно указать будет ли ездить фоновая картинка относительно вставляемого объекта (Прокрутка включена, кнопка зеленая) или вставляемый объект относительно фоновой картинки (Прокрутка выключена, кнопка красная).

Кнопкой "Цикл" (или по Shift+Z) можно указать будет ли перескивать курсор на противоположную сторону фоновой картинки если доедет до ее границы (Цикл включен, кнопка зеленая) или курсор вместе с вставляемым объектом будет просто уезжать дальше за границу фоновой картинки (Цикл выключен, кнопка красная).
6) После нажатия на "Ок" (или Enter) в окне вставки - будет предоставлена возможность "зациклить рисунок", любая часть вставляемого объекта, попавшая за границу фоновой картинки, вылезет с противоположной стороны. Таким образом можно рисовать сшиваемые текстуры, но сейчас нам это не нужно, поэтому выбираем "Без цикла".
Изображение Изображение

7) Также будет запрос на прозрачность вставляемых объектов. Выбираем 0% (полностью непрозрачные объекты). Хотя можно выбрать, например, 50% и тогда вставляемые объекты станут на финальной картинке полупрозрачными (сквозь них будет видна фоновая картинка).
Изображение

8) Спецвставка сработает и объекты будут вставлены на рисунок с учетом того, что фиолетовая маска - это прозрачный цвет и вставлять ее не надо.
Изображение

Вот так в PaintCAD Mobile/4Windows можно выделить произвольные объекты маскированием (контурами с помощью "Полининии", а потом заливкой фона с помощью "Заливки 2") и вставить их на любой другой рисунок.

Ответить

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость