API Brush

Les API Brush vous fournissent les outils nécessaires pour définir le style visuel de vos traits. Vous pouvez créer des pinceaux avec différentes couleurs, tailles et familles pour obtenir différents styles.

Créer un pinceau

Pour créer un pinceau, utilisez les méthodes associées Brush de Compose avec des arguments nommés tels que Brush.Companion.createWithComposeColor. Cette classe vous permet de définir les propriétés suivantes :

  • family : style du pinceau, analogue à une typographie ou une police dans le texte. Consultez StockBrushes pour connaître les valeurs BrushFamily disponibles.
  • color : couleur du pinceau. Vous pouvez définir la couleur à l'aide d'un ColorLong.
  • size : épaisseur globale des traits créés avec le pinceau.
  • epsilon : distance minimale à partir de laquelle deux points doivent être considérés comme visuellement distincts pour la géométrie de génération de traits. Le rapport entre epsilon et les points de tracé contrôle le niveau de zoom maximal d'un tracé sans artefacts, au détriment de la mémoire. Un bon point de départ pour les unités de contour est 1 px, et un bon point de départ pour l'epsilon est 0,1. Les valeurs epsilon plus élevées utilisent moins de mémoire, mais permettent un zoom moins important avant que des artefacts triangulaires n'apparaissent. Faites des tests pour trouver la valeur adaptée à votre cas d'utilisation.
val brush = Brush.createWithComposeColor(
  family = StockBrushes.pressure(),
  colorIntArgb = Color.Black,
  size = 5F,
  epsilon = 0.1F
)

Modifier les propriétés du pinceau

Vous pouvez créer une copie d'un pinceau existant à l'aide de la méthode copyWithComposeColor(), qui vous permet de modifier n'importe quelle propriété du pinceau.

val redBrush = Brush.createWithComposeColor(
  family = StockBrushes.pressurePen(),
  colorIntArgb = Color.RED,
  size = 5F,
  epsilon = 0.1F
)

val blueBrush = redBrush.copyWithComposeColor(color = Color.BLUE)

Pinceaux personnalisés

Alors que StockBrushes fournit un ensemble polyvalent de pinceaux courants, l'API Ink offre également une méthode avancée pour créer des comportements de pinceaux entièrement nouveaux afin d'obtenir des effets artistiques uniques ou de reproduire des pinceaux existants spécifiques pour assurer la rétrocompatibilité.

Un BrushFamily personnalisé est chargé à partir de son format sérialisé. Le format requis est l'encodage binaire compressé de BrushFamily protocol buffer. Cela vous permet de charger et d'utiliser des fichiers de pinceaux personnalisés dès aujourd'hui. Une fois désérialisé, le BrushFamily personnalisé peut être utilisé pour créer un Brush avec une couleur et une taille spécifiques, comme n'importe quelle famille StockBrushes.