[RUST/IMAGE] ImageBuffer<P, Container> 구조체 : from_fn 연관 함수를 사용해 이미지 생성하기
Rust/image 2023. 5. 27. 20:32728x90
728x170
■ ImageBuffer<P, Container> 구조체의 from_fn 연관 함수를 사용해 이미지를 생성하는 방법을 보여준다.
▶ Cargo.toml
[package]
name = "test_project"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
image = "0.23.14"
▶ src/main.rs
use image;
fn main()
{
let white_rgb : image::Rgb<u8> = image::Rgb::<u8>([255, 255, 255]);
let red_rgb : image::Rgb<u8> = image::Rgb::<u8>([255, 90, 90]);
let checker_width : u32 = 64;
let draw = |x, y|
{
let (x_index, y_index) = (x / checker_width, y / checker_width);
match (x_index % 2, y_index % 2)
{
(0, 0) => white_rgb,
(1, 0) => red_rgb,
(0, 1) => red_rgb,
(1, 1) => white_rgb,
(_, _) => panic!("error"),
}
};
let image_buffer : image::ImageBuffer<image::Rgb<u8>, Vec<u8>> = image::ImageBuffer::from_fn(512, 512, draw);
image_buffer.save("d:/checkerboard.png").unwrap();
}
728x90
그리드형(광고전용)
'Rust > image' 카테고리의 다른 글
[RUST/IMAGE] DynamicImage 열거형 : get_pixel/put_pixel 메소드를 사용해 색상 반전 이미지 파일 생성하기 (0) | 2023.05.29 |
---|---|
[RUST/IMAGE] DynamicImage 열거형 : thumbnail 메소드를 사용해 썸네일 이미지 구하기 (0) | 2023.05.29 |
[RUST/IMAGE] resize 함수 : 이미지 크기 변경하기 (0) | 2023.05.29 |
[RUST/IMAGE] crop 함수 : 이미지 잘라내기 (0) | 2023.05.29 |
[RUST/IMAGE] DynamicImage 열거형 : dimensions 메소드를 사용해 이미지 크기 구하기 (0) | 2023.05.29 |
[RUST/IMAGE] open 함수 : 이미지 파일 로드하기 (0) | 2023.05.29 |
[RUST/IMAGE] 썸네일 이미지 파일 생성하기 (0) | 2023.05.28 |
[RUST/IMAGE] 크레이트 설치 : image (0) | 2023.05.26 |