10个不稳定版本 (3个重大变更)
0.4.0 | 2023年12月27日 |
---|---|
0.3.3 | 2023年11月1日 |
0.3.1 | 2023年10月31日 |
0.2.1 | 2023年9月20日 |
0.1.2 | 2023年9月12日 |
在图像类别中排名255
每月下载82次
20KB
336 行
Si Crate - 在Rust中进行简单图像处理
Si crate(发音为“ess-eye”)是一个轻量且易于使用的Rust库,用于创建社交媒体分享图像(例如网站预览)。
查看examples
中的示例以开始。
安装
要在Rust项目中使用Si crate,请在您的Cargo.toml
文件中将它添加为依赖项
[dependencies]
si-img = "0.4.0"
入门指南
要开始使用Si crate,导入必要的模块
use si_img::{SiImage, SiFont, TextOptions};
创建字体
您可以使用SiFont::from_network
构造函数创建自定义字体。您需要提供一个字体URL。以下是一个示例
let font = SiFont::from_network("FONT_URL"); // Synchronously (blocking, use SiFont::from_network_async for async fetching)
创建图像
接下来,使用SiImage::from_network
构造函数创建图像。您需要提供一个图像URL
let img = SiImage::from_network("Image_URL"); // Synchronously (blocking, use SiImage::from_network_async for async fetching)
创建文本选项
从v0.4版开始,需要文本选项。
let text_options = TextOptions::default();
向图像添加文本
现在,您可以使用text
方法向图像添加文本。指定文本、缩放、x和y坐标、可选颜色(或使用None
作为默认颜色),以及您之前创建的字体
img.text("Hello Cool User", 48.00, 32.0, 20.0, Some("#00ffff".to_string()), &font, &text_options);
获取图像字节
最后,您可以使用to_bytes
方法检索(解码)图像作为字节
let bytes = img.to_bytes();
示例
以下是一个将所有内容组合在一起的完整示例
use si_img::{SiImage, SiFont};
fn main() {
// Create a font
let font = SiFont::from_network("FONT_URL");
// Create an image
let img = SiImage::from_network("Image_URL");
// Add text to the image
img.text("Hello Cool User", 48.00, 32.0, 20.0, Some("#00ffff".to_string()), &font);
// Get image bytes
let bytes = img.to_bytes();
// Do something with the image bytes (e.g., save to a file or send over a network)
}
这就完成了!您现在有基础知识可以开始在Rust项目中使用Si crate进行简单的图像处理。在构建图像处理应用程序时,请随意探索crate提供的更多功能和自定义选项。
注意:此crate是基于WebAssembly的
Si.js
库的基础(用于Node.js和Deno)。
依赖项
~17–29MB
~310K SLoC