Акварель в графическом редакторе и без него

Дмитрий Маштаков
  Проблема художественного рисования акварелью в графических редакторах существует. Несмотря на обилие предлагаемых в интернете наборов кистей, будто бы для акварели, достижения в этом стиле рисования, на мой взгляд, пока скромные.
  А потому я с большим энтузиазмом воспринял серию картинок, найденных по этому адресу - http://bravedefender.ru/post122936547/ и, цитирую -  "сделанных в Photoshop разными авторами в стиле акварельного рисунка из «исходников»-фотографий".
  В частности, в этой серии оказалась прекрасная работа акварелью "рыбки", показанная на иллюстрации справа.
  Увы, на поверку оказалось, что это отнюдь не фотошоп. Если фотошоп над рисунком в чём-либо поработал, то не мне судить, но первоисточник, найденный на этом сайте - https://www.deviantart.com/ позиционируется как работа акварелью, выполненная  в традиционной технике.

  Тем не менее, я взял этот рисунок за образец и принялся повторять его в своём собственном редакторе, используя кисть №1. Об особенностях рисования этой кистью, об отличиях и сходстве компьютерного рисования с "настоящей" акварелью, я и хочу вам сейчас рассказать.

Википедия - //Акварель (фр. Aquarelle — водянистая; итал. acquarello) — краски, обычно на растительном клее, разводимые в воде и легко смываемые ею, а также живописная техника, использующая эти краски, при растворении в воде образующие прозрачную взвесь тонкого пигмента, и позволяющая за счёт этого создавать эффект лёгкости, воздушности и тонких цветовых переходов.//

   Это, в смысле техники исполнения. А если подойти к акварели с позиции художественного восприятия, то в этой технике очень ценимы следы инструмента рисования - кисти;  следы, просвечивающие друг через друга, размывающие пигмент на соседних участках, следы с затёками и окантовкой по краям пятна.

   Следы эти образуют игру художественного материала, игру во многом случайную, но  умело направляемую автором в нужное для него русло. Кстати, именно так обстоят дела, скажем, со стихами, с их рифмами, аллитерациями и ассонансами, приходящими из подсознания тоже в общем-то случайным образом. Следы эти во многом и создают то, что мы называем красотой произведения искусства.


       КРУГ ИЗ ПИКСЕЛЕЙ

   Рисование кистями проводится по-пиксельно. Имеется массив RXY( i , j ), в котором обозначены координаты пикселей относительно пикселя центрального. Компьютер следит за перемещением указателя мыши, и если на поле рисования при нажатой левой кнопке мыши это положение изменилось,  то заполняется цветом сначала центральный пиксель, а затем и пиксели вокруг него, входящие в круг заданного радиуса.

   Таким образом создаётся круг - пятно заполнения. Помимо координат, относимых по индексу  j   к его значениям 1 и 2, в массиве по индексу   j =0  указан радиус расположения пикселя - его расстояние до центра пятна.
   У кисти с жёсткими краями, правила заполнения пикселя цветом не зависят от радиуса, тогда как кисть с мягким краем при больших R сближает цвет заполнения с цветом фона, организуя просвечивание фона на краях мазка.

   Кисть №1, о которой идёт речь - кисть жёсткая. Это не значит, что след её непрозрачен. Он непрозрачен только в режиме Гуашь и при плотности окраски 9. В остальных случаях фон просвечивает через него, а в режиме Акварель просвечивает сильнее.
   Режим акварели отличается не только этим. В нём краска начинает перетекать по пикселям пятна.  Начинает течь, как течёт пигмент в капле воды при рисовании натуральной акварелью.  Это моё своеобразное ноу-хау, о котором я вам сейчас расскажу.
   
        ПЕРЕТЕКАНИЕ ЦВЕТА ПО ПИКСЕЛЯМ

   Не пугайтесь того, что видите ниже. В этом небольшом участке программы компьютерная акварель и реализуется. Я всё вам доходчиво объясню. 
   Фишка алгоритма рисования акварелью для кисти №1 состоит в том, что кроме очередного пикселя с координатами X и Y этим же цветом в круге закрашиваются ещё два дополнительных пикселя - прошлый и позапрошлый. Эти пиксели имеют координаты  X1,Y1 и  X2,Y2.

 If Fbra = 1 Then 'кисть №1 Fbra -номер кисти
   Im = R20(R): X1 = Xm: Y1 = Ym: X2 = Xm: Y2 = Ym
  For I = 1 To Im
    X = RXY(I, 1) + Xm: Y = RXY(I, 2) + Ym
    OldC = Form1.Picture1.Point(X, Y)
    C = ccRGB(NewC, OldC, A): Form1.Picture1.PSet (X, Y), C
    If AG = 1 Then Form1.Picture1.PSet (X1, Y1), C: Form1.Picture1.PSet (X2, Y2), C
    X2 = X1: Y2 = Y1: X1 = X: Y1 = Y
 Next I: End If
'=====================

    Во второй строке определяется  Im - номер последнего пикселя закрашиваемого круга радиуса R, а дополнительные пиксели устанавливаются на центр ( Xm, Ym это координаты указателя мыши - координаты центра круга).
    Далее, в цикле, из массива RXY извлекаются координаты очередного пикселя, функцией Form1.Picture1.Point(X, Y) находится цвет окрашиваемой картинки в этой точке.
    Затем, функцией ccRGB(NewC, OldC, A) находится новый цвет, промежуточный между старым цветом этой точки и новым цветом, заданным художником. A - это степень непрозрачности краски, этот параметр задаётся отдельно.
    Затем текущая точка окрашивается в полученный цвет.
    И наконец, если включён режим акварели, то в этот же цвет красятся точки с координатами  X1,Y1 и  X2,Y2.
    В самом конце, строкой  X2 = X1: Y2 = Y1: X1 = X: Y1 = Y координаты передаются друг другу, с тем, чтобы окрашиваемые пиксели следовали бы один за другим.

    Вот и всё. Просто это или сложно?
    Очень просто. Почему до такого никто кроме меня до сих пор не додумался, не знаю. Ведь графическими редакторами для компьютерного рисования люди занимаются с 90-х годов прошлого века. Но такое иногда случается - открытие делается на совершенно ровном и исхоженном всеми месте. Такое бывает.
     Результат этой простоты поразителен - пятно акварели под указателем на экране компьютера оживает. Краска начинает течь, как в настоящей акварели, прямо у тебя на глазах - http://youtu.be/MgeQ2-KZczc
     Частички пигмента растворяются в пятне как в капле воды и шныряют по пятну вокруг наконечника стилуса.
    Правая часть следа, который ты ведёшь по рисунку, оттеняется вполне акварельной каймой, а левая часть размывает фон, которого касается. А если работать большим диаметром пятна, то завихрения краски в нём могут принимать фантастический характер.  И заметьте, это не имитация, такого чувства нет. Создаётся ощущение, что работаешь с настоящей, реальной водой.

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

      Результат вы видите сами. Компьютерная акварель кистью №1 получается не совсем такая, как на образце, но тоже очень интересная. Я намерено работал широкой кистью, чтобы показать, какие при такой работе получаются завихрения, чтобы вы могли оценить и составить своё собственное мнение о перспективности использования перетекающей по пикселям акварели в графических редакторах для рисования.
______________
17.08.2019