pub struct ColorFormat<'a> { /* private fields */ }Expand description
颜色高阶视图(pptx.dml.color.ColorFormat)。
与 Color 区别:
Color是“OOXML 模型层“表达,只关心值;ColorFormat是“高阶 API 层“包装,关心“颜色如何被使用“—— 例如字体前景色、字体背景高亮、形状填充、形状边框等,引用同一个Color时通过&mut Color共享。
§与 python-pptx 的对应
pptx.dml.color.ColorFormat←→ColorFormat;font.color.rgb = RGBColor(...)←→color_format.set_rgb(...)。
§设计要点
- 借用 + 透明代理:构造时传入
&mut Color,所有写操作直接修改 原值;这与 python-pptx 的font.color.rgb = X行为一致——font.color是个 proxy,实际写回的是底层a:srgbClr元素。 - 零分配:除读取时的临时
String外不触发堆分配。 - 类型安全:所有 setter 接受
Color/RGBColor/SchemeColor/PresetColor任一;From<impl Into<Color>>自动转换。
Implementations§
Source§impl<'a> ColorFormat<'a>
impl<'a> ColorFormat<'a>
Sourcepub fn new(color: &'a mut Color) -> ColorFormat<'a>
pub fn new(color: &'a mut Color) -> ColorFormat<'a>
Sourcepub fn with_role(color: &'a mut Color, role: ColorRole) -> ColorFormat<'a>
pub fn with_role(color: &'a mut Color, role: ColorRole) -> ColorFormat<'a>
构造时指定角色。
Sourcepub fn color_type(&self) -> MsoColorType
pub fn color_type(&self) -> MsoColorType
当前颜色的“类型“(python-pptx color.type)。
Sourcepub fn is_set(&self) -> bool
pub fn is_set(&self) -> bool
是否已设置颜色(不等于 Color::None)。
Sourcepub fn theme_color(&self) -> Option<MsoThemeColorIndex>
pub fn theme_color(&self) -> Option<MsoThemeColorIndex>
若当前是 theme color,取出 scheme 枚举;否则 None。
Sourcepub fn brightness(&self) -> f32
pub fn brightness(&self) -> f32
亮度调整(python-pptx 风格)。
返回当前颜色按 lumMod / lumOff 调整后的“近似“亮度。
注意:本方法只计算并返回 f32 (0.0..=1.0),不修改底层
Color。如需在 XML 中表达亮度调整,请在 Color 上加修饰子元素
(路线图 0.2.0)。
Sourcepub fn set_rgb(&mut self, c: impl Into<RGBColor>)
pub fn set_rgb(&mut self, c: impl Into<RGBColor>)
设为 sRGB 颜色(对应 python-pptx color.rgb = RGBColor(r, g, b))。
Sourcepub fn set_preset(&mut self, p: PresetColor)
pub fn set_preset(&mut self, p: PresetColor)
设为预设颜色。
Sourcepub fn set_theme(&mut self, t: MsoThemeColorIndex)
pub fn set_theme(&mut self, t: MsoThemeColorIndex)
设为 schemeClr 主题色。
Trait Implementations§
Source§impl<'a> Debug for ColorFormat<'a>
impl<'a> Debug for ColorFormat<'a>
Source§impl<'a> From<&'a mut Color> for ColorFormat<'a>
impl<'a> From<&'a mut Color> for ColorFormat<'a>
Source§fn from(c: &'a mut Color) -> ColorFormat<'a>
fn from(c: &'a mut Color) -> ColorFormat<'a>
Converts to this type from the input type.
Auto Trait Implementations§
impl<'a> !UnwindSafe for ColorFormat<'a>
impl<'a> Freeze for ColorFormat<'a>
impl<'a> RefUnwindSafe for ColorFormat<'a>
impl<'a> Send for ColorFormat<'a>
impl<'a> Sync for ColorFormat<'a>
impl<'a> Unpin for ColorFormat<'a>
impl<'a> UnsafeUnpin for ColorFormat<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more