Живопись непрозрачной кистью в графич. редакторе

Дмитрий Маштаков
     В отличие от акварели, непрозрачная кисть, казалось бы, менее приспособлена к художественному рисованию на компьютере. И в самом деле - как делать такой кистью тонкие переходы от одного цвета к другому? Как избежать унылой ровной прокраски, если цвет для мазка уже выбран, а краска с фоном никак не взаимодействует, и только есть надежда на имитацию рельефа пастозной масляной живописи, или на имитацию фактуры холста, если непрозрачная краска ложится тонким слоем.
 
    В живописи традиционной всё именно так и происходит.  И происходит, заметьте, самым простым и естественным образом. И краски имеют рельеф, и холст проявляет свою фактуру. И само рисование доставляет удовольствие, его приёмы разнообразны - то кистью ребром проведёшь, то мастихином тоненькую линию прочертишь, то маслом краски чуть разбавишь, и пожалуйста - жидкая живопись. Есть в чём и как проявить своё мастерство.
 
   Но в компьютерном рисовании нет реального холста, нет реальных, выдавливаемых из тюбиков красок. Как и нет интереса к такому рисованию - если всё твоё мастерство состоит только в правильном выборе кисти и тех эффектных регулировках, которые не ты делаешь, а которые за тебя предусмотрены, то какое же это мастерство? Это обезьянничание, и не более того.
   Мастерство художника проявляется в искусстве владения самыми примитивными инструментами - кисть с её щетиной, игла для прочерчивания линий и шпатель. И более ничего. И пошло-поехало:
    "Из какой-то деревяшки, из каких-то бледных жил,
      Из какой-то там фантазии, которой он служил..."

   А в навороченных графических редакторах есть фантазии? Да, фантазии есть. Но это фантазии не твои. Это фантазии программистов, которые на каждую твою задумку кисть подходящею для этой задумки делают и тебе в руку вкладывают - пожалуйста, рисуй. И ты думаешь, что рисуешь ты. А так ли это?
   Кисть для имитации акварели, кисть для имитации масляной живописи. Получается не искусство, а сплошная имитация. Хотя, не спорю, удобно. Но не интересно.
   А вот разбрызгиватель краски я приветствую. Это естественный и очень простой инструмент, и в реальности, и в компьютерном исполнении. Также как проста линия, штриховка, ну и проч.
   Инструменты должны быть просты и удобны.

              КИСТЬ №3
 
     Кисть №3, которой выполнен рисунок на левой части иллюстрации и о которой я буду рассказывать, реализована просто - это линия с окантовкой.
     Делается эта линия кругами из пикселей, которые перемешаются по рисунку и оставляют следы. Впереди идёт круг с цветом окантовки, диаметр этого круга на два пикселя больше, а следом, с отставанием на два пикселя идёт круг основного цвета чуть меньшего диаметра..
     В результате такого нехитрого алгоритма и получаются следы кисти №3, которые показаны на иллюстрации внизу справа. Цвет окантовки может быть сделан темнее или светлее основного цвета, а при опции 3 цвет окантовки сравнивается с основным цветом, а если ещё и фон имеет примерно такой же цвет, то след кисти на этом фоне может быть совсем незаметен.

     Простой инструмент? Простой, понятный и ничуть не навороченный.
     Но, казалось бы, как такой линией с окантовкой рисовать? Но именно кистью №3 сделан рисунок, который вы видите на левой части иллюстрации.

     Рисунок в правой части иллюстрации - это образец, на который я посматривал во время своего рисования, пытаясь передать особенности его фактуры. Картинка эта - розы в вазе, взята с рекламы современного редактора для художественного рисования Corel Painter, которым пользуются не только любители, но и профессиональные художники. Редактор продвинутый, в нём масса кистей и много всяких возможностей.
      У меня только появились сомнения - сделана ли эта картинка средствами самого редактора, или это традиционная масляная живопись, помещённая в окно редактора как бы для рекламы - дескать, стремитесь к такому, и в нашем редакторе вы это сможете.
      Однако, как вы это видите,  такое я могу сотворить и в своём собственном, достаточно примитивном редакторе, который и размер имеет всего 560 Кb, куда входит и обширный Help, и средства анимации,  позволяющие делать настоящие мультфильмы длительностью около двух минут.
      Итак,

           КАК КИСТЬ №3 рисует?

        Конечно, рисовать широкий лепесток розы, имея кисть с окантовкой с обоих сторон следа, весьма затруднительно. И  самом деле - как ты не води кистью,   следы окантовки будут всегда оставаться прямо посреди лепестка. Может быть, кисть №3 для художественного рисования вовсе непригодна?
       Оказывается, что нет. Надо только алгоритм рисования чуть-чуть изменить.
        Реализуется этот алгоритм просто. Посмотрите как -         

        If L4 = 0 Then Form1.Picture1.PSet (X, Y),
        If L4 = 1 Then Form1.Picture1.PSet (X - Y1 + Ym, Y + X1 - Xm), OldC
        If L4 = 2 Then
          Form1.Picture1.PSet (X - Y1 + Ym, Y + X1 - Xm), C2
          Form1.Picture1.PSet (X - Y2 + Ym, Y + X2 - Xm), OldC   
        End If
'============
   Сперва цветом окантовки закрашивается круг большого диаметра, а затем следует этот фрагмент кода.
Здесь L4 это флаг, определяющий опцию размещения окантовки.

   При опции  L4 = 0  пиксель рисуется на своём законном месте, он имеет координаты  X, Y и установленный пользователем цвет OldC. Круг из пикселей, окрашенных этим цветом, частично закрывает круг окантовки, оставляя от этого круга его переднюю часть и края. След кисти №3 имеет в этом случае двустороннюю окантовку.

   При опции  L4 = 1, посмотрите на координаты - пиксель рисуется смещённым, причём координата  X  смещается на величину перемещения мыши вдоль оси Y  (Ym здесь текущее положение центра круга, а Y1 это положение, предшествующее ему),  а координата  Y  смещается на величину перемещения мыши вдоль оси  X. Такая перекрёстная перестановка приводит к тому, что круг основного цвета смещается влево, а круг окантовки-то остался на месте и теперь выглядывает из-под правого края следа. А на левой стороне следа окантовки не видно.

   При опции  L4 = 2  сначала на этом месте помещается пиксель промежуточного цвета, и потом, с большим смещением рисуется пиксель основного цвета.  След кисти №3 получает при этом  широкую окантовку, оттенённую плавным цветовым переходом. Для рисования лепестков роз, или нежно окрашенных краёв других поверхностей, это самое оно.
    На иллюстрации все три вида окантовки показаны внизу справа в широком следе кисти.  При изменении направления движения кисти на справа-налево окантовка на нижних двух следах окажется сверху.

      ПРОРЕЖЕНИЕ ПИКСЕЛЬНОГО КРУГА

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

     Это относится не только к кисти №3,   но и ко всем кистям программы MA_Paint. Я только недавно эту замечательную возможность обнаружил и с удовольствием ввёл её в программу.

     Пиксельный круг создаётся при загрузке программы и изначально он делается плотным.
     Но изменив шаг по углу в процессе создания пиксельного круга с  0.5/R  радиан на шаг 1.5/R (здесь R это радиус для множества пикселей, находящихся примерно на одинаковом расстоянии от центра круга) мы значительно проредим пиксельный круг.
      На иллюстрации показано, каким получается пиксельный круг при разных значениях шага его заполнения, а на рисунке слева можно видеть, что окрашиваемый фон может быть сделан как гладким, с чётко обрисованным краем и с видимой окантовкой на этом краю, так и зернистым и рыхлым по переходам на краях.
      Совокупность всех опций кисти №3 делает её и удобной, и интересной, и дающей неплохие результаты  в плане рисования непрозрачным цветом в графическом редакторе.

        ЗАКЛЮЧЕНИЕ

       Я вам рассказал о том, как можно устроить достаточно эффективное художественное рисование в графическом редакторе, используя очень простые средства. Всегда бывает интересно знать - "как же это всё устроено?"  Но иногда подобная информации отсутствует, то ли фирмы берегут свои секреты, то ли считают, что информация эта специфическая, и людям она не очень интересна.
        Так или иначе, но о многом приходится только догадываться.
        Ну, а у меня секретов нет. И я вам обо всём с удовольствием рассказываю.
Это же очень интересно. Так мне кажется.
______________
19.08.2019