Color / Gradient

Fournissez des couleurs et des dégradés pour le texte, l’arrière-plan et le contour. Paint peut être une couleur ou une valeur créée par le constructeur de dégradé.

couleur

Les méthodes d'écriture couramment utilisées incluent les noms de couleurs, les couleurs hexadécimales et les objets { r, g, b, a }. Les composants RVB et la transparence utilisent 0–1, clear signifie transparent. $env.foreground et $env.accent fournissent des couleurs communes qui changent en fonction du thème.

HDR(color) ajoute la balise HDR à la chaîne de couleur. Les couleurs normales explicitement remplies restent SDR ; par exemple, color={$env.foreground} ne sera pas automatiquement amélioré et peut être écrit sous la forme color={HDR($env.foreground)} lorsque la mise en surbrillance est requise. Le comportement par défaut lorsque l'attribut color est omis est indiqué dans le tableau ci-dessous.

HDR valeur par défaut lorsque la couleur est omise

Lorsqu'aucune couleur de dessin n'est spécifiée, les couleurs par défaut suivantes sont marquées par HDR.

contenu couleur en cas d'omission
Texte, symboles, images modèles HDR($env.foreground);Le symbole préserve les couleurs de la palette lors de l'utilisation du mode palette et lorsqu'une palette est spécifiée.
Remplissage de rectangles, cercles, ellipses et histogrammes HDR($env.dark ? 'white' : 'black').
Traits de lignes, d'arcs, de polylignes, de tracés et de graphiques polylignes HDR($env.dark ? 'white' : 'black').
Axes et étiquettes du graphique La couleur de premier plan HDR est utilisée par défaut. La définition explicite du remplissage ou du contour du graphique ne modifie pas la couleur par défaut des étiquettes.
Lueur, ombre intérieure, ombre portée activée Lorsque la couleur est omise de l'effet, la lueur par défaut est HDR blanc, et l'ombre intérieure et l'ombre portée par défaut sont HDR noir ; omettre l'effet lui-même ne le permettra pas.

L'arrière-plan du conteneur reste transparent. Les images en couleurs primaires, les cartes et les matériaux du système conservent leurs propres couleurs et affichage. Les couleurs normales, les échelles de couleurs dégradées et les palettes de symboles explicitement spécifiées ne sont pas converties en HDR dans leur ensemble, et les couleurs nécessitant une amélioration doivent être marquées séparément.

Quand l’amélioration prend-elle effet ?

Le drapeau HDR ne garantit pas la luminosité réelle. L'amélioration nécessite iOS 26 ou version ultérieure, les écrans pris en charge, le mode HUD et l'activation de l'amélioration HDR ; les résultats réels sont également affectés par l’environnement d’affichage actuel. Le mode instrument normal, l'aperçu de l'éditeur et le PNG exporté utilisent la plage d'affichage normale, et l'aperçu ne peut pas être utilisé pour juger de l'effet de surbrillance réel.

Les trois lignes suivantes omettent la couleur, utilisent explicitement la couleur normale et marquent explicitement la couleur de surbrillance. Cela peut ressembler à l'aperçu, mais la différence d'amélioration devient apparente après être entré dans un environnement HUD prenant en charge HDR.

function main() {
  return (
    <VStack spacing={8}>
      <Text fontSize={22}>Default HDR</Text>
      <Text fontSize={22} color={$env.foreground}>
        Explicit SDR
      </Text>
      <Text fontSize={22} color={HDR($env.accent)}>
        Explicit HDR
      </Text>
    </VStack>
  );
}

Pente

LinearGradient change le long d'une ligne droite, RadialGradient s'étend à partir du centre et AngularGradient change angulairement autour du centre. Lors de la construction, vous pouvez transmettre un tableau de couleurs ou un tableau de couleurs avec color et location. Utilisez 0–1 pour l'emplacement du patch de couleur et les coordonnées centrales, les points pour le rayon radial et les degrés pour les angles.

Le dégradé créé peut être transmis à background, stroke et à d'autres attributs prenant en charge Paint. Les attributs qui n'acceptent que Color doivent toujours utiliser une seule couleur. Les types spécifiques disponibles sont soumis à la définition de l'attribut.

Exemple : dégradé d'arrière-plan et de trait

L'arrière-plan linéaire, le remplissage radial, le trait angulaire et le texte HDR sont respectivement affichés ci-dessous.

function main() {
  return (
    <VStack spacing={12}>
      <Rectangle
        height={48}
        background={LinearGradient(['#B9E883', '#30B3A2'], { angle: 30 })}
      />
      <Circle
        width={100}
        height={100}
        background={RadialGradient(['white', '#30B3A2'])}
      />
      <Circle
        width={100}
        height={100}
        stroke={AngularGradient(['#B9E883', '#30B3A2', '#B9E883'])}
        lineWidth={8}
        background="clear"
      />
      <Text color={HDR('white')}>CapDrive</Text>
    </VStack>
  );
}

Constructeur

HDR(color: string) → HDRColor

Marque une couleur pour l’amélioration HDR tout en conservant sa couleur SDR de base.

LinearGradient(colors: GradientColors, options?: LinearGradientOptions) → Gradient

Crée un dégradé. Appel direct ou avec new.

RadialGradient(colors: GradientColors, options?: RadialGradientOptions) → Gradient

Crée un dégradé. Appel direct ou avec new.

AngularGradient(colors: GradientColors, options?: AngularGradientOptions) → Gradient

Crée un dégradé. Appel direct ou avec new.