Виды заливки контуров в векторной графике

   Продолжаю рассказывать о заливке векторных фигур средствами Визуал Бейсик.
   В среде VB6 заливку контуров приходится создавать самому. Наиболее прогрессивный алгоритм, это линейная заливка - http://proza.ru/2020/10/16/1478 
   А поскольку в Бейсике черчение тонких линий (толщиной в 1 пиксель) может быть проведено не только сплошной линией, но и пунктиром или штрих пунктиром, то очень легко воспользоваться такой возможностью для того, чтобы разнообразить виды заливки.

   На иллюстрации заглавная буква и буква крайняя справа залиты именно так. Кружочками показаны начальные точки контуров Безье, и кликнув правой кнопкой мыши по любому кружочку, можно нужную фигуру Безье выбрать. Затем, левой кнопкой мыши фигуру можно перемешать, а двигая возникший справа квадратик – изменять размер фигуры и поворачивать её.
   Кликнув по строке меню «Параметры» мы увидим цвет контура и цвет заливки, рядом с этими цветами – толщину контура в пикселях, а на кнопке «Плотность» - тип заливки. 0 –заливка отсутствует, 1-4 и 7-9 –градиентная заливка разных сортов, 5 и 6 –однотонная заливка.
   Однотонная заливка идёт сплошняком, если на маленькой кнопочке снизу цифры нет, а если цифра есть, то в соответствии с опциями 1-4 вместо сплошных горизонтальных линий для заливки используется пунктир или штрих пунктир, а в фигуре образуются незакрашенные прорехи. Эти прорехи ориентированы преимущественно вертикально, и через них проглядывают те графические элементы, которые были нанесены на рисунок ранее. При цифре 5 на маленькой кнопочке заливка получается полосатой, но прорехи в ней отсутствуют.

   Чтобы изменить вид заливки, нужно, кликая по кнопке «Плотность» и по кнопочке снизу ЛЕВОЙ кнопкой мыши, установить нужную плотность, а кликая по кнопочке снизу ПРАВОЙ кнопкой мыши, выставить нужную опцию заливки.
   После этого ставим переключатель «о/ф» на панели слева в положение «ф» (это положение разрешает смену параметров) и кликаем по кнопке «Закрепить».

   Если выбрана градиентная заливка, то результат смены её опций несколько другой – прорех в заливке не появляется, но чередуется способ закрашивания горизонтальных линий – градиентный поточечный периодически меняется на однотонный сплошной. В результате для опций 1,2 и 3 появляется горизонтальная полосатая структура, такая, какую можно видеть на одной из букв иллюстрации. Оригинальные заливки с градиентом и с добавлением белого или чёрного цвета я вначале сделал для опций кнопочки 4 и 5 при выставленной Плотности 4, а затем расширил диапазон цветов.
   Белый и чёрный добавляются, если на кнопке «Плотность» выставлено 4, а для 1,7 2,8 и 3,9 добавляются синий, зелёный и красный, светлого или тёмного оттенков. Метод градиентной заливки позволяет это сделать, хотя сам градиент при добавлении цветов становится практически незаметным.

   Но как же сведения о виде заливки и о её опции отражаются в одном целом числе, поскольку в имеющейся структуре графики для этого лишних мест нет? - http://proza.ru/2020/11/04/2121
   Это делается просто – две цифры отражаются «в два этажа» -

        52>     37  632  117  53  6  25  651  152  703  28  3

В числе 25 здесь: 2 –опция с маленькой кнопочки, 5 –цифра с кнопки «Плотность».
   Так можно и три и четыре этажа в целом числе соорудить.
   СкАжите – зачем такие сложности? Для компьютера это несложно, но зато место в массиве экономится. И, кстати, и цифры в массиве более легко обозримыми становятся.
   Я в свой практике программирования часто так делаю. Особенно, если программу нужно развивать, а массив для хранения параметров уже создан. Думаете, динамический массив тут поможет? Нет, по моему мнению, лишние прибамбасы обычно даже простое дело запутывают. Простота структур программирования, это огромный плюс Бейсмка. Именно поэтому я им и пользуюсь.
_________
8.11.2020


Рецензии