Las APIs de Brush te proporcionan las herramientas para definir el estilo visual de tus trazos. Puedes crear pinceles con diferentes colores, tamaños y familias para lograr una variedad de estilos.
Cómo crear un pincel
Para crear un pincel, usa los métodos complementarios de Compose Brush con argumentos con nombre, como Brush.Companion.createWithComposeColor.
Esta clase te permite establecer las siguientes propiedades:
family: Es el estilo del pincel, análogo a un tipo de letra o una fuente en el texto. ConsultaStockBrushespara ver los valores deBrushFamilydisponibles.color: Es el color del pincel. Puedes establecer el color con unColorLong.size: Es el grosor general de los trazos creados con el pincel.epsilon: Es la distancia más pequeña para la que se deben considerar dos puntos visualmente distintos a los efectos de la geometría de generación de trazos. La proporción de puntos de épsilon y trazo controla cuánto se puede acercar un trazo sin artefactos, a costa de la memoria. Un buen punto de partida para las unidades de trazo es 1 px, y un buen punto de partida para el valor de epsilon es 0.1. Los valores de épsilon más altos usan menos memoria, pero permiten menos zoom antes de que aparezcan artefactos triangulares. Experimenta para encontrar el valor adecuado para tu caso de uso.
val brush = Brush.createWithComposeColor(
family = StockBrushes.pressure(),
colorIntArgb = Color.Black,
size = 5F,
epsilon = 0.1F
)
Cómo modificar las propiedades del pincel
Puedes crear una copia de un pincel existente con el método copyWithComposeColor(), que te permite cambiar cualquiera de las propiedades del pincel.
val redBrush = Brush.createWithComposeColor(
family = StockBrushes.pressurePen(),
colorIntArgb = Color.RED,
size = 5F,
epsilon = 0.1F
)
val blueBrush = redBrush.copyWithComposeColor(color = Color.BLUE)
Pinceles personalizados
Si bien StockBrushes proporciona un conjunto versátil de pinceles comunes, la API de Ink también ofrece una ruta avanzada para crear comportamientos de pincel completamente nuevos para efectos artísticos únicos o para replicar pinceles existentes específicos para la retrocompatibilidad.
Se carga un BrushFamily personalizado desde su formato serializado. El formato requerido es la codificación binaria comprimida con gzip del búfer de protocolo BrushFamily. Esto te permite cargar y usar archivos de pinceles personalizados hoy mismo. Una vez deserializado, el BrushFamily personalizado se puede usar para crear un nuevo Brush con un color y un tamaño específicos, al igual que cualquiera de las familias de StockBrushes.