extern crate image;
use image::{ImageBuffer, Rgb};
const WIDTH: u32 = 10;
const HEIGHT: u32 = 10;
fn main() {
// a default (black) image containing Rgb values
let mut image = ImageBuffer::<Rgb<u8>>::new(WIDTH, HEIGHT);
// set a central pixel to white
image.get_pixel_mut(5, 5).data = [255, 255, 255];
// write it out to a file
image.save("output.png").unwrap();
}
2条答案
按热度按时间f45qwnt81#
从docs和the repository开始。
从文档的登录页上看不出来,但
image
中的内核类型是ImageBuffer
。new
函数允许你构造一个ImageBuffer
来表示一个给定宽度的图像,存储给定类型的像素(例如RGB,或者with transparency)。你可以使用pixels_mut
,get_pixel_mut
和put_pixel
(后者在文档中低于pixels_mut
)来修改图像。它看起来像:
repo作为一个起点特别有用,因为它包含示例,特别是它有编程生成an image的an example。当使用一个新库时,我将打开文档,如果感到困惑,专门打开repo来查找示例。
注:
get_pixel_mut
自0.24.0起已弃用:请改用get_pixel和put_pixel。sg2wtvxw2#
由于@huon answer是6岁的孩子,我在复制结果时遇到错误,所以我写了这个,