API Brush

Le API Brush ti forniscono gli strumenti per definire lo stile visivo dei tuoi tratti. Puoi creare pennelli con colori, dimensioni e famiglie diversi per ottenere una varietà di look.

Creare un pennello

Per creare un pennello, utilizza i metodi complementari Compose Brush con argomenti denominati come Brush.Companion.createWithComposeColor. Questa classe consente di impostare le seguenti proprietà:

  • family: lo stile del pennello, analogo a un carattere di testo. Consulta StockBrushes per i valori BrushFamily disponibili.
  • color: il colore del pennello. Puoi impostare il colore utilizzando un ColorLong.
  • size: Lo spessore complessivo dei tratti creati con il pennello.
  • epsilon: la distanza più piccola per cui due punti devono essere considerati visivamente distinti ai fini della geometria di generazione del tratto. Il rapporto tra epsilon e punti del tratto controlla il livello di zoom di un tratto senza artefatti, a scapito della memoria. Un buon punto di partenza per le unità di tratto è 1 px e un buon punto di partenza per epsilon è 0, 1. Valori epsilon più elevati utilizzano meno memoria, ma consentono un livello di zoom inferiore prima che compaiano artefatti triangolari. Sperimenta per trovare il valore giusto per il tuo caso d'uso.
val brush = Brush.createWithComposeColor(
  family = StockBrushes.pressure(),
  colorIntArgb = Color.Black,
  size = 5F,
  epsilon = 0.1F
)

Modificare le proprietà del pennello

Puoi creare una copia di un pennello esistente utilizzando il metodo copyWithComposeColor(), che ti consente di modificare qualsiasi proprietà del pennello.

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

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

Pennelli personalizzati

StockBrushes offre un set versatile di pennelli comuni, ma l'API Ink offre anche un percorso avanzato per creare comportamenti di pennello completamente nuovi per effetti artistici unici o per replicare pennelli esistenti specifici per la compatibilità con le versioni precedenti.

Un BrushFamily personalizzato viene caricato dal suo formato serializzato. Il formato richiesto è la codifica binaria compressa di BrushFamily protocol buffer. In questo modo puoi caricare e utilizzare oggi stesso i file di pennelli personalizzati. Una volta deserializzato, il BrushFamily personalizzato può essere utilizzato per creare un nuovo Brush con un colore e una dimensione specifici, proprio come qualsiasi delle famiglie StockBrushes.