Кисть Змейка. Окантовка следа

  Кистью "Змейка" я уже успешно пользовался в своей предыдущей программе https://youtu.be/6KMZwV8zN1o Там она выступала в своей непрозрачной, гуашевой опции. Однако эту же кисть можно использовать и в акварельном варианте.
  Как в акварельной, так и в гуашевой опции (эта опция включается активированием кнопки «рисуем») прозрачность кисти регулируется кнопкой Плотность. В опции Акварель краска в пятне ещё и стекает в указанную сторону, одновременно размывая те краски, которые уже находятся на рисунке. И в обеих опциях след, проложенный кистью, может быть тут же автоматически окантован.
  Собственно об окантовке, о её эстетике и о способе её реализации, мы с вами и будем сейчас говорить.

   ОКАНТОВКА АКРАРЕЛЬНЫХ ПЯТЕН
   
  Акварельный кант, обычно более тёмного цвета, окружающий высохшее пятно, очень характерен для акварельной живописи. Своим появлением кант обязан силам поверхностного натяжения.

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

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

  Нечто подобное я соорудил и в своей программе, введя окантовку, как дополнительную опцию кисти Змейка. Кнопка Ф1, находящаяся на левой панели инструментов, служит этой цели. В положении Ф2 она запускает окантовку активным цветом, а в положении Ф3 чередует активный цвет с цветом фона. Такая, попеременная окантовка тоже весьма живописна.
  Опция Ф2 имеет ещё вариант Ф2’ – этот вариант позволяет наслаивать друг на друга окантовки разного цвета, или делать окантовку толще.
  Другой вариант опции – Ф2| создает тонкую линию, только слегка оттеняющую край следа, пропорционально его яркости. Такая окантовка наиболее приближена к реальной акварели. Повторные касания следа стилусом делают оттенение более заметным.
  Пробное рисование с применением окантовки оказалось удобным и показало свою эффективность.

  Ниже приводятся разъяснения, касающееся реализации процесса окантовки и приводится текст программы.

    РЕАЛИЗАЦИЯ ПРОЦЕССА ОКАНТОВКИ

  Окантовка запускается автоматически, после окончания движения стилуса, в момент его отрыва от поверхности планшета.
  Чтобы процесс окантовки был полностью успешен, рисунок предварительно лишается первых бит цвета в каждой из трёх цветовых компонент. Делается это двухкратным кликом по кнопке «Е» (кнопка находится видном месте левой панели) – при первом клике рисунок, лишённый первых бит цвета, записывается на поле_6, а при втором клике считывается с этого поля.
 
  Затем, мы начинаем рисование. Кисть Змейка при рисовании всегда добавляет первые биты к компонентам красящего цвета, именно по этому признаку подпрограмма, проводящая оконтуривание, находит границы сделанного следа. И даже нажимать кнопку «Е» приходится не столь часто, как казалось бы – можно создавать след на сразу, а по частям, постепенно подсоединяя к нему новые и новые части, повторяя старый след, и даже меняя цвет следа. Если не нравится цвет окантовки, то его легко поменять – достаточно выбрать другой цвет и просто коснуться стилусом планшета внутри ранее сделанного следа.
  В общем, практика показала, что так рисовать не только удобно, но и само рисование становится увлекательным, и даёт несколько необычный и интересный с художественной точки зрения результат.

__________
25.05.2023

Приложение. АЛГОРИТМ ОКАНТОВКИ

  В тексте, приведённом ниже, OldC – активный цвет, cBack – цвет фона.
Окантовка делается линией толщиной 1 пиксель, параметр М указывает на направление поиска границы, для кисти Змейка он полагается равным нулю.
  Цвет окантовки имеет 1 в первых битах, за исключением опции Ф2’, где цвет окантовки равен активному цвету с 0 в первых битах, именно это и позволяет делать в этой опции многократную окантовку, наращивая её изнутри.


Public Sub YooA(M As Integer, Xd As Integer, Yd As Integer) 'M=1 <=,0 =>
Dim DW As Integer, I As Integer, C1 As Long, CC1 As Long, C2 As Long
Dim Xo As Integer, Yo As Integer, X As Integer, Y As Integer, C As Long
Dim N As Integer, J As Integer, Uo As Single, Fc As Integer
Dim X1 As Integer, Y1 As Integer, P As Integer, CC As Long, Nt As Integer

    DW = Form1.Picture1.DrawWidth:
    Xo = Xd: Yo = Yd: N = 0 'число точек
    CC = OldC Or C111: If F50p = 1 Then CC = OldC And C254:
    CC1 = -1: If F50 = 3 Then CC1 = cBack Or C111: 'and C254
    N = 0: X = 1: J = 4: If M = 1 Then X = -1: J = 7: 'направление поиска границы
1   C = Form1.Picture1.Point(Xo - X, Yo)   'читаем цвет пикселя
If C < 0 Then Form1.Text2 = " граница не найдена": Exit Sub
    C1 = C And C111: If C1 = C111 Then Xo = Xo - X: GoTo 1
    Form1.Picture1.DrawWidth = 1:
   X1 = Xo: Y1 = Yo:
2  Fc = 0: If F50p < 2 Then Form1.Picture1.PSet (Xo, Yo), CC: 'ставим точку окантовки
      If F50p = 2 Then Call cRGB(C): Call d3RGB(0): C = RGB(RR, GG, BB) Or C111: Form1.Picture1.PSet (Xo, Yo), C:
      If F50 = 3 Then If Rnd(1) < 0.3 Then C2 = CC: CC = CC1: CC1 = C2 'меняем цвет окантовки
      N = N + 1: If N > 4000 Then Form1.Text2 = " число точек N=" + Str(N): GoTo 51
5  For I = 1 To 9: J = J + 1: If J > 8 Then J = 1
     Select Case J:
     Case 1: X = Xo: Y = Yo + 1: Case 2: X = Xo + 1: Y = Yo + 1:
     Case 3: X = Xo + 1: Y = Yo: Case 4: X = Xo + 1: Y = Yo - 1:
     Case 5: X = Xo: Y = Yo - 1: Case 6: X = Xo - 1: Y = Yo - 1:
     Case 7: X = Xo - 1: Y = Yo: Case 8: X = Xo - 1: Y = Yo + 1:
     End Select
       C = Form1.Picture1.Point(X, Y)    'читаем цвет пикселя
       If C < 0 Then Fc = 1: GoTo 3
     C1 = C And C111:
     If C1 = C111 Or C = CC Or C = CC1 Then 'если С не имеет 1 в первых битах или C = OldC/cBack
       If Fc = 0 Then GoTo 3 Else GoTo 4
     End If: Fc = 1
3   Next I:
    Form1.Text2 = " готово частично N=" + Str(N): GoTo 51 'на случай сбоя
4   Xo = X: Yo = Y: J = J + 4: If J > 8 Then J = J - 8:
    If Xo = X1 And Yo = Y1 Then Form1.Text2 = " число точек N=" + Str(N): GoTo 51
    GoTo 2:
51   Form1.Picture1.DrawWidth = DW: Exit Sub '===============
End Sub


Рецензии
А я и не знал, что в акварельной живописи мазок окантовывается. И картина справа сделана в этой технике?

Леонид Кряжев   26.05.2023 05:38     Заявить о нарушении
Кант в акварели получается, если работать сильно разжиженной краской и давать пятнам просохнуть. В позапрошлом веке такая техника была очень распространена. Сейчас художники редко используют кант. Но вот эта японская художница так делает -http://stihi.ru/2018/06/04/642 и посмотрите, как здорово у неё получается.
.
Что касается картинки справа, то она нарисована без канта и с большой плотностью кисти, то есть краска была непрозрачна.
С кантом, с прозрачной кистью и с эффектом стекания рисовать труднее, но получается интересная фактура. Я нарисовал в этой технике портрет и сейчас как раз пишу статью и делаю видео на эту тему.
.
Спасибо. Я так увлёкся рисованием, что забросил все литературные занятия, и даже на поэтические конкурсы не хожу. Кстати, рекомендую - мои последние стихи, написанные как раз на конкурсные темы http://stihi.ru/2023/03/31/125 http://stihi.ru/2023/03/12/4798 http://stihi.ru/2023/05/05/758

Дмитрий Маштаков   26.05.2023 08:15   Заявить о нарушении
Посмотрел, спасибо, чудесные яблоки получились у девушки

Леонид Кряжев   26.05.2023 20:44   Заявить о нарушении