gpt4 book ai didi

rust - 使用 Rust image crate 确定加载的图像是否具有 alpha channel

转载 作者:行者123 更新时间:2023-12-05 02:43:32 52 4
gpt4 key购买 nike

为了将图像绘制到 GUI 中,我需要确定图像是否具有 alpha channel 。 I've asked a similar question关于获取 image::DynamicImage 的位深度,但想知道图像箱是否有任何其他方法来检测 DynamicImage 的 alpha channel ,而不是使用这样的匹配语句。

image = "0.23.14"
use image::*;
use image::io::Reader as ImageReader;

fn main(){
let loaded_img: DynamicImage = ImageReader::open(path).unwrap().decode().unwrap();
dbg!(is_rgba(loaded_img));
}

fn has_alpha(img: DynamicImage) -> bool{
match img {
DynamicImage::ImageLumaA8(_) => true,
DynamicImage::ImageRgba8(_) => true,
DynamicImage::ImageBgra8(_) => true,
DynamicImage::ImageLumaA16(_) => true,
DynamicImage::ImageRgba16(_) => true,
_=>false
}
}

最佳答案

DynamicImage 有一个 color()获取颜色类型的方法,它本身有一个 has_alpha()方法:

fn has_alpha(img: DynamicImage) -> bool {
img.color().has_alpha()
}

关于rust - 使用 Rust image crate 确定加载的图像是否具有 alpha channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66881530/

52 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com