RgbImageExt

Trait RgbImageExt 

Source
pub trait RgbImageExt: Sized {
    // Required methods
    fn from_color(width: u32, height: u32, color: impl Into<Rgb<u8>>) -> Self;
    fn from_slice(buffer: &[u8]) -> Result<Self, ImageError>;
    fn add_border(
        &self,
        margin: [u32; 4],
        bg_color: impl Into<Rgb<u8>>,
    ) -> Result<Self, ImageError>;
    fn add_percent_border(
        &self,
        margin_percent: [u32; 4],
        bg_color: impl Into<Rgb<u8>>,
    ) -> Result<Self, ImageError>;
    fn encode_jpeg_buffer(&self, quality: u8) -> Result<Vec<u8>, ImageError>;
    fn save_with_quality<P: AsRef<Path>>(
        &self,
        file_name: P,
        quality: u8,
    ) -> Result<(), ImageError>;
    fn draw_text(
        self,
        text: &str,
        text_color: impl Into<Rgb<u8>>,
        scale: f32,
        font: &impl Font,
        draw_area: (i32, i32, i32, i32),
        x_align: Align,
        y_align: Align,
        offset: [i32; 4],
    ) -> Self;
}

Required Methods§

Source

fn from_color(width: u32, height: u32, color: impl Into<Rgb<u8>>) -> Self

创建一个指定尺寸并填充指定颜色的RgbImage

§参数
  • width - 图像的宽度(像素)
  • height - 图像的高度(像素)
  • color - 用于填充图像的颜色,可以是任何能转换为Rgb u8的类型
§返回值

返回一个新的RgbImage,其尺寸为width×height,并用指定颜色填充

Source

fn from_slice(buffer: &[u8]) -> Result<Self, ImageError>

从字节缓冲区创建RgbImage

§参数
  • buffer - 包含图像数据的字节缓冲区
§返回值

返回一个包含从缓冲区中加载的图像数据的RgbImage,如果加载失败则返回错误

Source

fn add_border( &self, margin: [u32; 4], bg_color: impl Into<Rgb<u8>>, ) -> Result<Self, ImageError>

为RgbImage添加边框

§参数
  • margin - 四个值,分别表示上、右、下、左的边框宽度
  • bg_color - 边框的背景颜色,可以是任何能转换为Rgb u8的类型
§返回值

返回一个包含添加边框的RgbImage,如果添加失败则返回错误

Source

fn add_percent_border( &self, margin_percent: [u32; 4], bg_color: impl Into<Rgb<u8>>, ) -> Result<Self, ImageError>

为RgbImage添加基于百分比的边框

§参数
  • margin_percent - 四个值,分别表示上、右、下、左的边框宽度百分比(相对于图像的高度或宽度)
  • bg_color - 边框的背景颜色,可以是任何能转换为Rgb u8的类型
§返回值

返回一个包含添加边框的RgbImage,如果添加失败则返回错误

Source

fn encode_jpeg_buffer(&self, quality: u8) -> Result<Vec<u8>, ImageError>

将图像编码为JPEG格式的字节缓冲区

§参数
  • quality - JPEG压缩质量,范围从0-100,值越高质量越好
§返回值

返回包含JPEG编码图像数据的字节向量,如果编码失败则返回错误

Source

fn save_with_quality<P: AsRef<Path>>( &self, file_name: P, quality: u8, ) -> Result<(), ImageError>

将图像以指定质量保存为JPEG文件

§参数
  • file_name - 要保存的文件路径
  • quality - JPEG压缩质量,范围从0-100,值越高质量越好
§返回值

如果成功保存文件则返回Ok(()),否则返回ImageError

Source

fn draw_text( self, text: &str, text_color: impl Into<Rgb<u8>>, scale: f32, font: &impl Font, draw_area: (i32, i32, i32, i32), x_align: Align, y_align: Align, offset: [i32; 4], ) -> Self

在图像上绘制文本

§参数
  • text - 要绘制的文本内容
  • text_color - 文本颜色,可以是任何能转换为Rgb u8的类型
  • scale - 文本缩放比例
  • font - 字体对象,需要实现ab_glyph::Font trait
  • draw_area - 绘制区域,格式为(起始x, 起始y, 结束x, 结束y)
  • x_align - 水平对齐方式
  • y_align - 垂直对齐方式
  • offset - 文本偏移量,格式为: 上偏移, 右偏移, 下偏移, 左偏移
§返回值

返回绘制了文本的RgbImage

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§