Я шифрую, затем дешифрую изображение, которое затем передаю своему изображению, используемому для изменения размера (код, любезно заимствованный откуда-то), примерно так:
public static Bitmap loadResizedBitmap(InputStream dis, int width, int height) {
BufferedInputStream bis = new BufferedInputStream(dis);
Bitmap bitmap = null;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(bis, null, options);
if (options.outHeight > 0 && options.outWidth > 0) {
options.inJustDecodeBounds = false;
options.inSampleSize = 2;
while (options.outWidth / options.inSampleSize > width &&
options.outHeight / options.inSampleSize > height) {
options.inSampleSize++;
}
options.inSampleSize--;
bitmap = BitmapFactory.decodeStream(bis, null, options);
}
return bitmap;
}
Проблема возникает во время второго decodeStream , BitmapFactory возвращает null . Я убедился, что первый работает, и выводит правильный размер, и т. Д. Я предполагаю, что CipherInputStream не поддерживает маркировку и сброс, поэтому я обернул его в BufferedInputStream без удачи. У кого-нибудь еще есть предложения?