Color / Gradient
Forneça cores e gradientes para texto, plano de fundo e traçado. Paint pode ser uma cor ou um valor criado pelo construtor gradiente.
cor
Os métodos de escrita comumente usados incluem nomes de cores, cores hexadecimais e objetos { r, g, b, a }. Componentes RGB e transparência usam 0–1, clear significa transparente. $env.foreground e $env.accent fornecem cores comuns que mudam de acordo com o tema.
HDR(color) adiciona a tag HDR à string de cores. As cores normais preenchidas explicitamente permanecem SDR; por exemplo, color={$env.foreground} não será aprimorado automaticamente e pode ser escrito como color={HDR($env.foreground)} quando o realce for necessário. O comportamento padrão quando o atributo color é omitido é mostrado na tabela abaixo.
HDR valor padrão quando a cor é omitida
Quando nenhuma cor de desenho é especificada, as seguintes cores padrão são marcadas com HDR.
| contente | cor quando omitido |
|---|---|
| Texto, símbolos, imagens de modelo | HDR($env.foreground);O símbolo preserva as cores da paleta ao usar o modo paleta e uma paleta é especificada. |
| Preenchimento de retângulos, círculos, elipses e histogramas | HDR($env.dark ? 'white' : 'black'). |
| Traços de linhas, arcos, polilinhas, caminhos e gráficos de polilinhas | HDR($env.dark ? 'white' : 'black'). |
| Eixos e rótulos do gráfico | A cor de primeiro plano HDR é usada por padrão. Definir explicitamente o preenchimento ou o traçado do gráfico não altera a cor padrão dos rótulos. |
| Brilho, sombra interna, sombra projetada ativada | Quando a cor é omitida do efeito, o padrão do brilho é HDR branco, e a sombra interna e a sombra projetada são padrão para HDR preto; omitir o efeito em si não o ativará. |
O fundo do contêiner permanece transparente. Imagens em cores primárias, mapas e materiais do sistema mantêm suas próprias cores e exibição. Cores normais, escalas de cores gradientes e paletas de símbolos especificadas explicitamente não são convertidas em HDR como um todo, e as cores que requerem aprimoramento devem ser marcadas separadamente.
Quando o aprimoramento entra em vigor?
O sinalizador HDR não garante o brilho real. O aprimoramento requer iOS 26 ou posterior, telas suportadas, modo HUD e ativação do aprimoramento HDR; os resultados reais também são afetados pelo ambiente de exibição atual. O modo normal do instrumento, a visualização do editor e o PNG exportado usam a faixa de exibição normal e a visualização não pode ser usada para avaliar o efeito de realce real.
As três linhas a seguir omitem a cor, usam explicitamente a cor normal e marcam explicitamente a cor de destaque. Pode parecer igual na visualização, mas a diferença de aprimoramento se torna aparente após entrar em um ambiente HUD que suporta 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>
);
}
Gradiente
LinearGradient muda ao longo de uma linha reta, RadialGradient se espalha a partir do centro e AngularGradient muda angularmente em torno do centro. Ao construir, você pode passar um array de cores ou um array de cores com color e location. Use 0–1 para localização da amostra de cor e coordenadas centrais, pontos para raio radial e graus para ângulos.
O gradiente criado pode ser passado para background, stroke e outros atributos que suportam Paint. Atributos que aceitam apenas Color ainda precisam usar cor única. Os tipos específicos disponíveis estão sujeitos à definição do atributo.
Exemplo: fundo e gradiente de traço
Fundo linear, preenchimento radial, traço angular e texto HDR são mostrados abaixo, respectivamente.
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>
);
}
Construtor
HDR(color: string) → HDRColorMarca uma cor para aprimoramento HDR, preservando sua cor SDR base.
LinearGradient(colors: GradientColors, options?: LinearGradientOptions) → GradientCria um gradiente. Chame diretamente ou com new.
RadialGradient(colors: GradientColors, options?: RadialGradientOptions) → GradientCria um gradiente. Chame diretamente ou com new.
AngularGradient(colors: GradientColors, options?: AngularGradientOptions) → GradientCria um gradiente. Chame diretamente ou com new.