X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Futils%2Fandroid%2FImageUtilsAndroid.java;h=d55e602cb89d247e6056caec1f49c9b484de7ed4;hb=a2c1d5fed2dca110c7cd5968b78baa3e1a6a16e9;hp=483c44ff144ec8f705412e85c2c9b428e973999f;hpb=e8aa5bf9227a0d6a6d0bb6a8bc0cc04d0f4d601a;p=fanfix.git diff --git a/src/be/nikiroo/utils/android/ImageUtilsAndroid.java b/src/be/nikiroo/utils/android/ImageUtilsAndroid.java index 483c44f..d55e602 100644 --- a/src/be/nikiroo/utils/android/ImageUtilsAndroid.java +++ b/src/be/nikiroo/utils/android/ImageUtilsAndroid.java @@ -1,20 +1,35 @@ package be.nikiroo.utils.android; import android.graphics.Bitmap; +import android.graphics.Bitmap.Config; import android.graphics.BitmapFactory; -import be.nikiroo.utils.Image; -import be.nikiroo.utils.ImageUtils; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; +import java.io.InputStream; +import java.util.stream.Stream; + +import javax.imageio.ImageIO; + +import be.nikiroo.utils.Image; +import be.nikiroo.utils.ImageUtils; +import be.nikiroo.utils.StringUtils; /** - * This class offer some utilities based around images and uses the Android framework. + * This class offer some utilities based around images and uses the Android + * framework. * * @author niki */ public class ImageUtilsAndroid extends ImageUtils { + @Override + protected boolean check() { + // If we can get the class, it means we have access to it + Config.ALPHA_8; + return true; + } + @Override public void saveAsImage(Image img, File target, String format) throws IOException { @@ -59,12 +74,18 @@ public class ImageUtilsAndroid extends ImageUtils { * in case of IO error */ static public Bitmap fromImage(Image img) throws IOException { - Bitmap image = BitmapFactory.decodeByteArray(img.getData(), 0, - img.getData().length); - if (image == null) { - throw new IOException("Failed to convert input to image"); + InputStream stream = img.newInputStream(); + try { + Bitmap image = BitmapFactory.decodeStream(stream); + if (image == null) { + String ssize = StringUtils.formatNumber(img.getSize()); + throw new IOException( + "Failed to convert input to image, size was: " + ssize); + } + } finally { + stream.close(); } - + return image; } }