feat(palette-extract): 图片解码适配层(D40 第 2 层,唯一引入 image 的地方)

- 新 crate unlucky-palette-extract:路径/字节 → RGBA → design 的种子
- image 只开 png + jpeg(关 default-features,不拖 rayon/avif/webp)
- 解码前按 Limits 拒超大尺寸(解压炸弹),解码后最长边缩到 256
- input(&Result<Rgba8, _>) 把失败翻成 ImageInput::Undecodable(回落链靠它区分「没设」与「坏了」)
- 11 个单测覆盖纯色/JPEG/抄错扩展名/垃圾字节/截断/缺文件/1px/灰图/大图/超限/零拷贝
This commit is contained in:
AskaEth committed 2026-11-02 11:04:52 +08:00
1 parent 18327fb038
commit 1aac62f6f0
5 files changed
+410

No files matched your search

Generated
+8
View File
@@ -6942,6 +6942,14 @@ dependencies = [
name = "unlucky-design"
version = "0.1.0"
[[package]]
name = "unlucky-palette-extract"
version = "0.1.0"
dependencies = [
"image",
"unlucky-design",
]
[[package]]
name = "unlucky-presenter"
version = "0.1.0"