Работа Пастелью по фактурному фону

  Компьютерные кисти могут просто рисовать, накладывая свой след поверх того, что уже изображено на рисунке. А могут рисовать и не совсем просто, а в своём рисовании учитывать фактуру того материала, на котором рисунок находится.
  В реальном рисовании всё происходит именно так - кисть при работе маслом цепляет прежде всего бугорки холста, а во впадинки на холсте краска заходит, если она жидкая или если художник прижимает кисть к холсту, а не ведёт ею легонько. Похожая ситуация возникает и при рисовании пастелью по шершавой бумаге – прижмёшь мелок, след будет сплошной, не прижмёшь – останутся белые просветы. И при растушёвке пальцем происходит то же самое.
  Вот эти артефакты – просветы и впадинки составляют особую текстуру, вносимую не специальным выбором кисти (или заданием её параметров, если мы говорим о компьютерной живописи), а возникающую самопроизвольно, во взаимодействии кисти и холста.

  Используются ли подобные холсты в компьютерном рисовании?
Да, используются. В программе Фотошоп, например, можно картинку с изображением холста поместить на одном слое, сделать его невидимым, но соединить этот слой со слоем, предназначенным для рисования методом логического сложения или умножения. Тогда фактура холста, будучи сама не видна, через наш рисунок проступать будет.
  Похожим способом, видимо, создаются текстурные кисти. Любую кисть Фотошопа можно перевести в разряд текстурных и выбрать текстуру для рисования по ней. Причём текстура эта может подкладываться как под рисунок целиком, так и индивидуально – под каждый отдельный отпечаток кисти.

  Нечто аналогичное я соорудил в своей программе.
  Слоёв, как таковых, в моей программе нет, но есть числовой массив, подложенный под рисунок. Он заполняется числами, имеющими значения от нуля до единицы, вот эти-то числа и изображают холст http://proza.ru/2023/07/15/283

  Числовой массив удобнее рисунка с изображением холста. Его взаимодействия с кистью могут быть более разнообразными, а главное, они выполняются очень быстро. Но прежде чем описывать эти взаимодействия, я должен рассказать, как устроена кисть под названием Пастель.
 
  Кисть №3 - Пастель можно представить себе как кружок из напитанных краской пикселей, которые передвигаются по рисунку и частично обмениваются с ним своим цветом. Пусть, например, пиксель кисти имеет цвет С, а пиксель рисунка, который кисть собралась перекрашивать, имеет цвет С1.

  Перекраска этих пикселей делается так –

C1 = Form1.Picture1.Point(X, Y)
C = Crn(I)
Crn(I) = ccRGB(C1, C, A) 
C = ccRGB(C, C1, A1 * AFon(X, Y))

Здесь X,Y – координаты точки, которую мы перекрашиваем,
Crn – массив, хранящий цвета пикселей, I – номер пикселя,
ccRGB – функция, добавляющая цвет первой позиции к цвету второй позиции,
A и A1 – пропорция в которой смешиваются цвета, величина от 0 до 1,
AFon(X, Y) – множитель, учитывающий фон. Обычно этот множитель равен 1.

Значения А и А1 – разные. Чем больше величина А1, тем больше своего цвета кисть передаёт рисунку. При выставленной плотности 6 кисть передаёт рисунку 4.6% своего цвета, поэтому след её выглядит бледным, а при плотности 9 на рисунке оказывается 71% цвета кисти, и след её очень заметен – следы коричневой кисти по белому фону показаны на иллюстрации справа.
  Величина А в тех же условиях составляет 5.7% и 33%, соответственно. Поэтому след кисти большей начальной плотности меняется быстрее и он оказывается короче бледного следа.
 
  На иллюстрации справа в самом низу показано, как такая кисть сначала идёт по белому фону, очень скоро становится белой, потом заходит на зелёный фон и отдаёт белый цвет ему, а став зелёной и выйдя опять на белый фон, красит его зелёным.
  Поскольку в центре пятна пикселей больше, то цвет в середине следа меняется медленнее, а на периферии быстрее.
  Таким образом, в режиме рисования, первоначально наполненная коричневым кисть, быстро теряет этот цвет и, подхватывая в дальнейшем движении те цвета, по которым идёт, начинает их тушевать.

  Точно такой же процесс происходит и в режиме чистой растушёвки. Кисть ведёт себя не как мелок, а как палец – она напитывается цветом того места, на которое она опустилась, а потом везёт этот цвет по рисунку дальше, постепенно теряет его, и, выпачкавшись в новых цветах, везёт по рисунку их.
  Заметьте, наш «палец» в начале описанного процесса был чистым. Но можно было бы изначально испачкать его коричневым мелом, и потом опустить на рисунок. Тогда у нас происходило бы то, что мы назвали рисованием.

   РИСОВАНИЕ ПО ФАКТУРНОМУ ФОНУ В РАЗНЫХ ОПЦИЯХ

  Итак, с кистью под названием Пастель мы познакомились, давайте теперь проведём тест на взаимодействие её с подложенным под рисунок фактурным фоном. Фактурный фон для теста показан в правой части иллюстрации, он состоит из серых квадратиков разной степени почернения – на значения компонент цвета указывают цифры внизу. Правее квадратиков виден краешек натурального светлого фона, скаченного из интернета.

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

  Фактурный фон подключается к процессу рисования кнопкой с надписью «Ф» - на кнопке появляется цифра 1, означающая небольшое влияние фона. Следующие клики по кнопке выводят цифры 2 и 3, означающие, что фон будет проступать более сильно. Клики правой кнопкой мыши по этой же кнопке присоединяют к цифре букву. Буква указывает на опцию, в соответствии с которой используется фон. Если никакой буквы за цифрой не стоит, то в таком режиме более тёмные пиксели фона делают цвет более светлым.
  Поэтому фон проявляется на рисунке как негативная фактура. Если вместо Фактурного фона загрузить обычную фотографию с инвертированным цветом, то, работая по фону кистью, можно получить не негативное, а нормальное её изображение.

    Кликами правой кн.мыши по кнопке «опция фона» в состояниях 1-3 можно установить опции 1o, 2o и 3o. В этих опциях более тёмный фон вызывает темнение цвета.
  Опции 1Ц, 2Ц и 3Ц создают на более тёмных местах фактурного фона случайную добавку цвета, установленного как цвет фона на верхней панели.
  Опции 1R, 2R и 3R организуют случайные пропуски пикселей, поэтому на тёмных точках фона их заполнение цветом проходит менее интенсивно.
  Опции 1А, 2А и 3А  делают след прозрачным на тёмных местах фона.

  Результаты работы кистью во всех этих опциях приведены на иллюстрации. Любопытно, что чёрные цифры тоже проступили как следствие влияния фона – места находящиеся над чёрным, оказались не закрашенными кистью.
 
  Если фактурный фон загружен, то клавиши Shift/F его инвертируют, то есть, при обращении к фону темные места будут интерпретироваться как светлые, а светлые, как тёмные. Таким образом, действия с фактурным фоном могут быть интересными и разнообразными.

__________
17.07.2023


Рецензии