Кисть, имитирующая масляную живопись

   Задавшись целью перенести в свою новую программу те кисти, которые хорошо себя зарекомендовали в старой программе, я перенёс и кисть, имитирующую масло.

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

   Насыщенность канта регулируется кнопкой плотность. Кант может быть как темнее, так и светлее по тону относительно цвета пятна и, в зависимости от опции «стиль рисования», располагаться по правую или по левую сторону следа.  При опции Плотность=о кант приобретает цвет, выставленный на кнопке «цвет фона».

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

   У масляной живописи, однако, имеется и другая ипостась – тонкое рисование корпусными или полупрозрачными красками, доходящее в некоторых случаях до технического приёма, называемого лессировкой.
   Такие возможности тоже предусмотрены для кисти №1.
   Вводится этот режим постановкой кнопки на верхней панели в положение «рисуем» с одновременным окрашиванием кнопки в яркий зелёный цвет. Кнопка может выполнять различные функции, но для кисти №1, она выполняет именно эту.

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

   Ещё одно характерное свойство живописи с применением кисти, это расширение следа. Начать след можно, сначала чуть коснувшись холста краем кисти, и затем постепенно уширять след до полной ширины кисти, или прервать след, в нужный момент оторвав кисть от холста.
   Для реализации этой опции используется кнопка на верхней панели. Кликом по ней она устанавливается в положение «х», и тогда информацию о том, какой длины будет фаза расширения следа программа берёт от значения, выставленного на узкой кнопке ниже.
   А что там выставлено? Вы видите там символы – слившиеся друг с другом знаки подчёркивания и вертикальную черту между ними. Кликами по кнопке черту можно переставить на другое место.
   Любопытна реализация этих кликов –

Private Sub Command45_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim I As Integer, S As String
  If Button = 1 Then
      I = X / 108 - 1: If I < 0 Then I = 0:
      If I > 15 Then I = 15:
      Text2 = " значение" + Str(I) '+ "  x=" + Str(X)
      S = "_______________": S = Left(S, I) + "|" + Mid(S, I + 1):
      Command45.Caption = S: FC45 = I:
  End If: Picture1.SetFocus
End Sub

видите, как всё простенько.
Глобальная переменная FC45 может принять значение от 0 до 15.


     ПРОЗРАЧНЫЕ ЛИНЗЫ, СЛЁЗЫ И КАПЛИ

   Чтобы реализовать кисть с мягкими краями, в опции «рисуем» используется пиксельный круг. Однако особых вариантов для такого режима нет, только смена закона смешения красок реализуется нажатиями на клавишу Пробел. Потому появляется соблазн, реализовать неиспользованные варианты с пользой для дела и как-нибудь совершенно по-другому.

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

   Рисование кистью с кантом хорошо зарекомендовало себя на практике. Оно оказалось интересным и эффективным http://proza.ru/2019/08/19/448

__________
15.03.2023

Программу, о которой идёт речь, можно скачать в теперешнем её варианте вот здесь - https://disk.yandex.ru/d/pT6LoBWUGOBfiw


Рецензии