Color / Gradient

ระบุสีและการไล่ระดับสีสำหรับข้อความ พื้นหลัง และเส้นโครงร่าง Paint อาจเป็นสีหรือค่าที่สร้างโดยตัวสร้างการไล่ระดับสี

สี

วิธีการเขียนที่ใช้กันทั่วไป ได้แก่ ชื่อสี สีเลขฐานสิบหก และวัตถุ { r, g, b, a } ส่วนประกอบ RGB และความโปร่งใสใช้ 0–1, clear หมายถึงโปร่งใส $env.foreground และ $env.accent มีสีทั่วไปที่สลับกับธีม

HDR(color) เพิ่มแท็ก HDR ให้กับสตริงสี เติมสีปกติอย่างชัดเจนยังคงอยู่ SDR; ตัวอย่างเช่น color={$env.foreground} จะไม่ได้รับการปรับปรุงโดยอัตโนมัติ และสามารถเขียนเป็น color={HDR($env.foreground)} ได้เมื่อจำเป็นต้องไฮไลต์ ลักษณะการทำงานเริ่มต้นเมื่อละเว้นแอตทริบิวต์สีจะแสดงในตารางด้านล่าง

HDR ค่าเริ่มต้นเมื่อละเว้นสี

เมื่อไม่ได้ระบุสีการวาด สีเริ่มต้นต่อไปนี้จะถูกทำเครื่องหมายด้วย HDR

เนื้อหา สีเมื่อละเว้น
ข้อความ สัญลักษณ์ รูปภาพเทมเพลต HDR($env.foreground);Symbol รักษาสีของจานสีเมื่อใช้โหมดจานสีและระบุจานสี
การเติมรูปสี่เหลี่ยม วงกลม วงรี และฮิสโตแกรม HDR($env.dark ? 'white' : 'black').
ลายเส้น เส้น ส่วนโค้ง เส้นหลายเส้น เส้นทาง และแผนภูมิเส้นหลายเส้น HDR($env.dark ? 'white' : 'black').
แกนแผนภูมิและป้ายกำกับ สีพื้นหน้า HDR ถูกใช้เป็นค่าเริ่มต้น การตั้งค่าการเติมแผนภูมิหรือเส้นขีดอย่างชัดเจนจะไม่เปลี่ยนสีเริ่มต้นของป้ายกำกับ
เปิดใช้งานการเรืองแสง เงาภายใน และเงาหล่น เมื่อละเว้นสีจากเอฟเฟกต์ การเรืองแสงจะมีค่าเริ่มต้นเป็น HDR สีขาว และเงาด้านในและเงาตกกระทบจะมีค่าเริ่มต้นเป็น HDR สีดำ การละเว้นเอฟเฟกต์นั้นจะไม่สามารถเปิดใช้งานได้

พื้นหลังคอนเทนเนอร์ยังคงโปร่งใส รูปภาพสีหลัก แผนที่ และวัสดุของระบบจะคงสีและการแสดงผลของตัวเองไว้ สีปกติ ระดับสีไล่ระดับสี และชุดสัญลักษณ์ที่ระบุอย่างชัดเจนจะไม่ถูกแปลงเป็น HDR โดยรวม และควรทำเครื่องหมายสีที่ต้องการการปรับปรุงแยกกัน

การเสริมประสิทธิภาพจะมีผลเมื่อใด?

แฟล็ก HDR ไม่รับประกันความสว่างตามจริง การเพิ่มประสิทธิภาพต้องใช้ iOS 26 หรือใหม่กว่า หน้าจอที่รองรับ โหมด HUD และการเปิดการเพิ่มประสิทธิภาพ HDR ผลลัพธ์ที่แท้จริงยังได้รับผลกระทบจากสภาพแวดล้อมการแสดงผลในปัจจุบันด้วย โหมดเครื่องมือปกติ การแสดงตัวอย่างด้วยโปรแกรมแก้ไข และ PNG ที่ส่งออกจะใช้ช่วงการแสดงผลปกติ และไม่สามารถใช้การแสดงตัวอย่างเพื่อตัดสินเอฟเฟกต์ไฮไลต์จริงได้

บรรทัดสามบรรทัดต่อไปนี้ละเว้นสี ใช้สีปกติอย่างชัดเจน และทำเครื่องหมายสีไฮไลต์อย่างชัดเจน อาจดูเหมือนกันในหน้าตัวอย่าง แต่ความแตกต่างในการปรับปรุงจะปรากฏชัดเจนหลังจากเข้าสู่สภาพแวดล้อม HUD ที่รองรับ 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>
  );
}

การไล่ระดับสี

LinearGradient เปลี่ยนแปลงเป็นเส้นตรง RadialGradient กระจายออกจากจุดศูนย์กลาง และ AngularGradient เปลี่ยนแปลงเป็นมุมรอบจุดศูนย์กลาง เมื่อสร้าง คุณสามารถส่งผ่านอาร์เรย์สีหรืออาร์เรย์สีด้วย color และ location ใช้ 0–1 สำหรับตำแหน่งแพตช์สีและพิกัดกึ่งกลาง จุดสำหรับรัศมีรัศมี และองศาสำหรับมุม

การไล่ระดับสีที่สร้างขึ้นสามารถส่งผ่านไปยัง background, stroke และคุณลักษณะอื่นๆ ที่รองรับ Paint คุณลักษณะที่ยอมรับเฉพาะ Color ยังคงต้องใช้สีเดียว ประเภทที่มีอยู่เฉพาะเจาะจงจะขึ้นอยู่กับคำจำกัดความของแอตทริบิวต์

ตัวอย่าง: พื้นหลังและการไล่ระดับสีเส้นโครงร่าง

พื้นหลังเชิงเส้น การเติมในแนวรัศมี เส้นขีดเชิงมุม และข้อความ HDR แสดงอยู่ด้านล่างตามลำดับ

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>
  );
}

ตัวสร้าง

HDR(color: string) → HDRColor

ทำเครื่องหมายสีเพื่อเพิ่มประสิทธิภาพ HDR โดยคงสี SDR เดิมไว้

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

สร้างการไล่สี เรียกโดยตรงหรือใช้ new

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

สร้างการไล่สี เรียกโดยตรงหรือใช้ new

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

สร้างการไล่สี เรียกโดยตรงหรือใช้ new