Interfejsy Brush API
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Interfejsy API Brush
zapewniają narzędzia do definiowania wizualnego stylu pociągnięć. Możesz tworzyć pędzle o różnych kolorach, rozmiarach i rodzinach, aby uzyskać różne efekty.
Utwórz pędzel
Aby utworzyć pędzel, użyj metod fabrycznych Brush
, takich jak createWithColorIntArgb()
. Metody fabryczne umożliwiają ustawienie tych właściwości:
- rodzina: styl pędzla, analogiczny do kroju lub czcionki w tekście.
Dostępne wartości
BrushFamily
znajdziesz w sekcji StockBrushes
.
- color: kolor pędzla. Kolor możesz ustawić za pomocą koloru
ColorLong
lub ColorInt
.
- size: ogólna grubość pociągnięć linii utworzonych za pomocą pędzla.
- epsilon: najmniejsza odległość, dla której dwa punkty powinny być wizualnie różne na potrzeby geometrii generowania kreski. Stosunek epsilona do punktów obrysu decyduje o tym, jak bardzo można powiększyć obrys bez artefaktów, co wiąże się z kosztem pamięci. Dobrym punktem wyjścia dla wymiarów obrysu jest 1 px, a dla epsilona – 0,1. Większe wartości epsilona wykorzystują mniej pamięci, ale pozwalają na mniejsze powiększenie przed pojawieniem się artefaktów trójkąta. Eksperymentuj, aby znaleźć odpowiednią wartość dla danego przypadku użycia.
val brush = Brush.createWithColorIntArgb(
family = StockBrushes.pressurePenLatest,
colorIntArgb = Color.Black.toArgb(),
size = 5F,
epsilon = 0.1F
)
Modyfikowanie właściwości pędzla
Możesz utworzyć kopię istniejącego pędzla, używając metody copy()
. Ta metoda umożliwia zmianę dowolnych właściwości pędzla.
val redBrush = Brush.createWithColorIntArgb(
family = StockBrushes.pressurePenLatest,
colorIntArgb = Color.RED.toArgb(),
size = 5F,
epsilon = 0.1F
)
val blueBrush = redBrush.copy(colorIntArgb = Color.BLUE.toArgb())
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[null,null,["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[],null,["# Brush APIs\n\nThe [`Brush`](/reference/kotlin/androidx/ink/brush/Brush) APIs provide you with\nthe tools to define the visual style of your strokes. You can create brushes\nwith different colors, sizes, and families to achieve a variety of looks.\n\nCreate a brush\n--------------\n\nTo create a brush, use the [`Brush`](/reference/kotlin/androidx/ink/brush/Brush)\nfactory methods such as\n[`createWithColorIntArgb()`](/reference/kotlin/androidx/ink/brush/Brush#createWithColorIntArgb(androidx.ink.brush.BrushFamily,kotlin.Int,kotlin.Float,kotlin.Float))\nclass. The factory methods let you set the following properties:\n\n- **family** : The style of the brush, analogous to a typeface or font in text. See [`StockBrushes`](/reference/kotlin/androidx/ink/brush/StockBrushes) for available [`BrushFamily`](/reference/kotlin/androidx/ink/brush/BrushFamily) values.\n- **color** : The color of the brush. You can set the color using a [`ColorLong`](/reference/kotlin/androidx/annotation/ColorLong) or [`ColorInt`](/reference/androidx/annotation/ColorInt).\n- **size**: The overall thickness of strokes created with the brush.\n- **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.\n\n val brush = Brush.createWithColorIntArgb(\n family = StockBrushes.pressurePenLatest,\n colorIntArgb = Color.Black.toArgb(),\n size = 5F,\n epsilon = 0.1F\n )\n\nModify brush properties\n-----------------------\n\nYou can create a copy of an existing brush using the\n[`copy()`](/reference/kotlin/androidx/ink/brush/Brush#copy(androidx.ink.brush.BrushFamily,kotlin.Float,kotlin.Float))\nmethod. This method lets you change any of the brush's properties. \n\n val redBrush = Brush.createWithColorIntArgb(\n family = StockBrushes.pressurePenLatest,\n colorIntArgb = Color.RED.toArgb(),\n size = 5F,\n epsilon = 0.1F\n )\n\n val blueBrush = redBrush.copy(colorIntArgb = Color.BLUE.toArgb())"]]