1 个不稳定版本
使用旧的Rust 2015
0.1.4 | 2016年8月22日 |
---|
#19 in #bmp
93KB
847 行
rust-bmp
一个用于读取和写入位图图像的小模块。请参阅文档了解BMP编码和解码支持的当前状态。
用法
库的更新版本应在 crates.io 上提供。将以下内容添加到您的 Cargo.toml
中以将其作为依赖项。
[dependencies]
bmp = "*"
###初始化 使用 new
函数初始化一个新的图像,通过指定 width
和 height
。
extern crate bmp;
use bmp::Image;
let mut img = Image::new(100, 100);
###编辑 使用 get_pixel
和 set_pixel
函数编辑图像数据。通过指定 path
使用 save
函数保存图像。该函数返回一个 IoResult
,指示保存是否成功。
let pixel = img.get_pixel(0, 0);
img.set_pixel(50, 50, Pixel { r: 255, g: 255, b: 255 });
let _ = img.save("path/to/img.bmp");
###打开 使用 open
函数通过指定 path
打开现有的图像。该函数返回一个 BmpResult
,其中包含一个 Image
或一个 BmpError
。
extern crate bmp;
let img = bmp::open("path/to/img.bmp").unwrap_or_else(|e| {
panic!("Failed to open: {}", e);
});
坐标约定
BMP图像按行主序访问,其中点(0,0)定义为图像的右上角。示例
#[macro_use]
extern crate bmp;
use bmp::{Image, Pixel};
fn main() {
let mut img = Image::new(256, 256);
for (x, y) in img.coordinates() {
img.set_pixel(x, y, px!(x, y, 200));
}
let _ = img.save("img.bmp");
}