我尝试将各种图像从URL加载到ImageViews中。有些是由毕加索装载的,有些则不是。我想我设法找到这些图像的差异。它们在"色彩空间"。
中有所不同以下图片的颜色空间值为YUV并由毕加索加载: http://m.fpoe.at/typo3temp/pics/967b6df704.jpg
此图片的颜色空间值为YCCB,Picasso不会加载: http://m.fpoe.at/uploads/pics/2014_oktoberfest_494.jpg
这是因为Android没有加载CMYK图像吗? YCCB是CMYK图像吗?
由于
我改变了我的初始问题,因为它没有描述正确的行为。我认为图像只在色度子采样中有所不同。但这不是问题。问题是颜色空间YUV和YCCB。
这是我尝试在Android Studio中加载带有YCCB色彩空间的图像时出现的异常:
javax.imageio.IIOException: Incompatible color conversion at com.sun.imageio.plugins.jpeg.JPEGImageReader.checkColorConversion(JPEGImageReader.java:973) at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(JPEGImageReader.java:1078) at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(JPEGImageReader.java:1034) at javax.imageio.ImageIO.read(ImageIO.java:1448) at javax.imageio.ImageIO.read(ImageIO.java:1308) at android.graphics.Bitmap_Delegate.createBitmap(Bitmap_Delegate.java:118) at android.graphics.Bitmap_Delegate.createBitmap(Bitmap_Delegate.java:102) at com.android.layoutlib.bridge.impl.ResourceHelper.getDrawable(ResourceHelper.java:236) at android.content.res.BridgeTypedArray.getDrawable(BridgeTypedArray.java:789) at android.widget.ImageView.<init>(ImageView.java:136) at android.widget.ImageView.<init>(ImageView.java:125) at android.widget.ImageView.<init>(ImageView.java:121) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) at android.view.LayoutInflater.createView(LayoutInflater.java:603) at android.view.LayoutInflater.onCreateView(LayoutInflater.java:678) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:737) at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:802) at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64) at android.view.LayoutInflater.rInflate(LayoutInflater.java:778) at android.view.LayoutInflater.inflate(LayoutInflater.java:500) at android.view.LayoutInflater.inflate(LayoutInflater.java:381)