1

背景

我们刚刚切换到 UIL 库,这看起来很棒。不幸的是,我们必须支持 CMYK 图像(违背我们的意愿)并试图修改现有的ImageDecoder名为BaseImageDecoder.

可以在此处找到此代码。http://pastebin.com/NqbSr0w3

我们有一个现有的 AsyncTask http://pastebin.com/5aq6QrRd,它使用了这篇 SO 帖子中描述的 ImageMagick 包装器(将图像字节 [] 从 CMYK 转换为 RGB?)。这在我们的设置中运行良好。

问题

当前解码器无法从文件系统加载缓存的图像,这会导致解码错误。我们查看了源代码并相信我们使用了正确的功能。我们还认为在此过程中添加额外的解码级别是理想的,因为图像可能已调整大小并存储在文件系统中。

File cachedImageFile = ImageLoader.getInstance().getDiscCache().get(decodingInfo.getImageUri());
                    if (!cachedImageFile.exists()) {
                        Log.v("App", "FILE DOES NOT EXIST");
                        return null;
                    } 

上面的行总是返回文件不存在。

问题

我们现在处理 CMYK 图像是否不正确,如果不是,为什么我们不能从文件系统的缓存中获取图像?

4

0 回答 0