作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 JuicyPixels 库加载 PNG,我能够成功完成此操作,但我无法弄清楚底层图像是什么类型。在库中,DynamicImage
定义如下。
data DynamicImage =
ImageY8 (Image Pixel8)
| ImageYA8 (Image PixelYA8)
| ImageRGB8 (Image PixelRGB8)
| ImageRGBA8 (Image PixelRGBA8)
| ImageYCbCr8 (Image PixelYCbCr8)
通过简单的试验和错误,我发现它是一个 ImageRGBA8。
img = (\(ImageRBA8 t) -> t) dynImage
然后就做
imageData img
在ghci中打印图像数据,所有其他类型都会出错。那么我怎样才能在不尝试错误的情况下找出已加载的DynamicImage
类型。我确信这很简单,我只是错过了一些东西。
最佳答案
DynamicImage
只是一个 ADT,因此您可以在函数定义或 case 表达式中对其进行模式匹配。使用的确切构造函数将取决于您从文件加载的图像类型(因此在本例中为 RGA8,但在其他情况下可能会有所不同)。
例如:
case img of
ImageY8 imgPixel8 -> ... do something ...
ImageYA8 imgPixelYA8 -> ...
ImageRGB8 imgPixelRGB8 -> ...
ImageRGBA8 imgPixelRGBA8 -> ...
ImageYCbCr8 imgPixelYCbCr8 -> ...
关于haskell - 如何判断Codec.Picture加载的DynamicImage是什么类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16499136/
当我运行以下代码时,最后一行会导致此错误: error[E0308]: mismatched types --> src\main.rs:25:13 | 25 | box_filte
使用 image crate ,我正在尝试裁剪图像并调整其大小而不复制整个图像。 let img: DynamicImage = image.open("image.jpg").unwrap(); l
我可以使用 image 和 base64 包将 Base64 字符串转换为 DynamicImage,但我无法将图像转换回 Base64字符串。 我在这里做错了什么?如何实现? extern crat
我是一名优秀的程序员,十分优秀!