DrawingMode()
Синтаксис
DrawingMode(Mode)
Описание
Изменение режима рисования для текста и вывода графики.
Параметры
Mode Режим работы последующих операций рисования. Значение режима определяется комбинацией следующих флагов:
#PB_2DDrawing_DefaultЭтот режим используется по умолчанию, если начать рисовать без выбора режима. Текст отображается на сплошном фоне, а фигуры графики заполняются. Если текущая поверхность вывода имеет канал прозрачности, операции рисования будут изменять только компоненты цвета, оставляя канал прозрачности без изменений.#PB_2DDrawing_Transparent
Если этот флаг установлен, то для команды DrawText() фон будет прозрачным.#PB_2DDrawing_XOr
Включает режим XOR. Вся графика будет сложена операцией XOR с текущим фоном. Этот режим не может сочетаться с описанными ниже режимами с прозрачностью.#PB_2DDrawing_Outlined
Примечание: Этот режим не работает с устройством вывода PrinterOutput().
Если установлен этот флаг, фигуры будут рисоваться как контуры, без заполнения. Это относится к командам вроде Circle, Box, и т.д.Примечание: Следующие режимы работают только с поверхностью вывода ImageOutput() и CanvasOutput(). Всеми другими устройствами они игнорируются:
#PB_2DDrawing_AlphaBlendВывод операций рисования будет наложен с эффектом прозрачности на фон. Чтобы задать цвета с прозрачностью для команд вроде FrontColor(), Box(), DrawText() и т.д. можно использовать команду RGBA()#PB_2DDrawing_AlphaClip
Вывод операций рисования будет наложен с эффектом прозрачности на фон как в режиме #PB_2DDrawing_AlphaBlend с тем отличием, что канал прозрачности устройства вывода действует как маска. Это значит, что области на устройстве вывода, которые были прозрачными до операции рисования, останутся прозрачными и после неё. Если устройство вывода не имеет канала прозрачности, этот режим действует так же, как режим #PB_2DDrawing_AlphaBlend.#PB_2DDrawing_AlphaChannelОперации рисования будут изменять только канал прозрачности на устройстве вывода. Вся цветовая информация игнорируется. Например, рисование Окружности со значением цвета RGBA (0, 0, 0, 0) "вырежет" отверстие на устройстве вывода - сделает область окружности полностью прозрачной. Если устройство вывода не имеет канала прозрачности (как CanvasGadget), то все операции рисования не будут иметь никакого эффекта в этом режиме.#PB_2DDrawing_AllChannelsОперации рисования будут изменять каналы цвета и канал прозрачности на устройстве вывода. Управление содержимым каналов заменено на рисование без какого либо смешивания. Рисование в этом режиме имеет тот же результат, что и рисование сначала в режиме #PB_2DDrawing_Default а затем то же самое рисование в режиме #PB_2DDrawing_AlphaChannel. Если устройство вывода не имеет канала прозрачности (как CanvasGadget), этот режим эквивалентен режиму #PB_2DDrawing_Default.#PB_2DDrawing_Gradient
Этот режим позволяет рисовать градиентом вместо сплошного цвета. Вид градиента можно задать командами вроде LinearGradient(), CircularGradient() и т.д., а цвета градиента можно установить с помощью функции GradientColor(). Параметры цвета, заданные отдельным командам рисования, в этом режиме игнорируются. Этот режим можно сочетать с описанными выше режимами с прозрачностью для получения градиентов с полупрозрачными цветами.#PB_2DDrawing_CustomFilter
В этом режиме рисование пикселей определяется пользовательской процедурой с помощью команды CustomFilterCallback(). Это позволяет реализовать пользовательские графические эффекты, продолжая в то же время использовать обычные функции для рисования.
Возвращаемое значение
Ничего.
Комментарии
Чтобы использовать несколько режимов одновременно, вам нужно применить операцию '|' (OR). Далее следует пример с контурными фигурами, выводимыми через XOR:DrawingMode(#PB_2DDrawing_Outlined | #PB_2DDrawing_XOr)
См. также
FrontColor(), BackColor()
Поддерживаемые OS
Все