The Brush
APIs provide you with
the tools to define the visual style of your strokes. You can create brushes
with different colors, sizes, and families to achieve a variety of looks.
Create a brush
To create a brush, use the Brush
factory methods such as
createWithColorIntArgb()
class. The factory methods let you set the following properties:
- family: The style of the brush, analogous to a typeface or font in text.
See
StockBrushes
for availableBrushFamily
values. - color: The color of the brush. You can set the color using a
ColorLong
orColorInt
. - size: The overall thickness of strokes created with the brush.
- epsilon: The smallest distance for which two points should be considered visually distinct for stroke generation geometry purposes. The ratio of epsilon and stroke points control how much a stroke can be zoomed in without artifacts at the cost of memory. A good starting point for stroke units is 1px, and a good starting point for epsilon is 0.1. Higher epsilon values use less memory but allow for less zoom before triangle artifacts appear; experiment to find the right value for your use case.
val brush = Brush.createWithColorIntArgb(
family = StockBrushes.pressurePenLatest,
colorIntArgb = Color.Black.toArgb(),
size = 5F,
epsilon = 0.1F
)
Modify brush properties
You can create a copy of an existing brush using the
copy()
method. This method lets you change any of the brush's properties.
val redBrush = Brush.createWithColorIntArgb(
family = StockBrushes.pressurePenLatest,
colorIntArgb = Color.RED.toArgb(),
size = 5F,
epsilon = 0.1F
)
val blueBrush = redBrush.copy(colorIntArgb = Color.BLUE.toArgb())