Articles of bitmapfactory

ImageView и большая понижающая дискретизация GIF

Я показываю JPG / GIF / PNG в ImageView . Я выполнил следующие рекомендации для масштабирования больших изображений соответствующим образом, за исключением использования BitmapFactory.decodeStream (загруженного из URL-адреса) вместо BitmapFactory.decodeResource : http://developer.android.com/training/displaying-bitmaps/load-bitmap.html Это отлично работает для JPG и PNG, но совсем не для GIF, поскольку GIF не отображается, и я получаю битмап слишком большой, чтобы быть […]

Android – BitmapFactory.decodeByteArray – OutOfMemoryError (OOM)

Я прочитал 100 статей о проблеме OOM. Большинство из них относятся к большим растровым изображениям. Я делаю приложение для сопоставления, где мы загружаем 256×256 наложения 256×256 . Большинство из них полностью прозрачны и очень малы. Я просто BitmapFactory.decodeByteArray(….). который был 442 байта при вызове BitmapFactory.decodeByteArray(….). Исключение: java.lang.OutOfMemoryError: bitmap size exceeds VM budget(Heap Size=9415KB, Allocated=5192KB, Bitmap […]

Изображение не создается с помощью BitmapFactory.decodeByteArray

Изменить: когда я сохраняю эти байты в файле txt, и когда я сохраняю его как файл png, он показывает изображение, но он не работает здесь, почему …? Я использую этот код для создания изображения из массива byte на doInBackground () String base64data=StringEscapeUtils.unescapeJava(IOUtils.toString(resp.getEntity().getContent())); base64data=base64data.substring(1,base64data.length()-1); JSONObject obj=new JSONObject(base64data); JSONArray array=obj.getJSONArray("EMRTable"); JSONObject childobj=array.getJSONObject(0); results=childobj.getString("DocumentInternalFormat"); И onPostExecute if(jsondata!=null) { […]

Декодировать конкретные области изображения в Bitmapfactory?

Я работаю с файлами GeoTiff/PNG слишком большими для обработки в целом в моем коде. Есть ли возможность декодировать определенные области (например, заданные двумя координатами x, y) файла в bitmapfactory? Не нашли ничего похожего на http://developer.android.com/reference/android/graphics/BitmapFactory.html (ссылка разработчика для Android). Благодаря! С подсказкой kcoppock я установил следующее решение. Хотя мне интересно, почему rect нужно инициализировать с […]

BitmapFactory.decodeFile возвращает null

Я собираюсь сжать изображение с Bitmap.compress() метода Bitmap.compress() . Но когда я получаю Bitmap с использованием bitmap = BitmapFactory.decodeFile() я получаю null объект, и этот метод не исключал никаких исключений. Вот мой код public static File compressImage(String imagePath) throws IOException { // Get bitmap BitmapFactory.Options options = new BitmapFactory.Options(); options.inJustDecodeBounds = true; Bitmap bitmap = […]

BitmapFactory возвращает null, хотя есть изображение

Здесь я хочу преобразовать изображение из String URL. Хотя есть URL-адрес, содержащий изображение, он возвращает null. Я разделил код ниже. private byte[] convertImageToByteArray(String imgPath) { byte[] byteArray = null; Bitmap bmp = BitmapFactory.decodeFile(imgPath); if(bmp != null) { try { ByteArrayOutputStream stream = new ByteArrayOutputStream(); //bmp.compress(Bitmap.CompressFormat.JPEG, 100, stream); bmp.compress(Bitmap.CompressFormat.PNG, 100, stream); byteArray = stream.toByteArray(); try { […]

Java.lang.OutOfMemoryError в android.graphics.BitmapFactory.decodeResource (BitmapFactory.java:374)

Я получаю OutOfMemoryError, пока добавляю переменный фон в gridview … на «финальной растровой полкеBackground = BitmapFactory.decodeResource (ресурсы, фон)»; Пожалуйста, помогите мне ……. Вот мой код. public class ShelvesView extends GridView { private Bitmap mShelfBackground; private int mShelfWidth; private int mShelfHeight; public ShelvesView(Context context) { super(context); } public ShelvesView(Context context, AttributeSet attrs) { super(context, attrs); load(context, […]

Почему растровое декодирование с помощью inBitmap всегда получает java.lang.IllegalArgumentException: декодирование P ro ble в существующее растровое изображение

Я использую inBitmap для загрузки растрового изображения на android3 +. Но я всегда получаю java.lang.IllegalArgumentException: Problem decoding into existing bitmap. В функции entryMoved() : я использую reusableBitmaps.add(new SoftReference<Bitmap>(oldValue.getBitmap())); Сохранить растровое изображение. И в следующий раз для загрузки растрового изображения: я использую iterator для reusableBitmaps, чтобы найти, какой из них я могу использовать для inBitmap, я […]

Получение размера входного потока изображения

Мне нужно получить высоту и ширину изображения, найденного во входном потоке. Вот что я сделал: private Boolean testSize(InputStream inputStream){ BitmapFactory.Options Bitmp_Options = new BitmapFactory.Options(); Bitmp_Options.inJustDecodeBounds = true; BitmapFactory.decodeResourceStream(getResources(), new TypedValue(), inputStream, new Rect(), Bitmp_Options); int currentImageHeight = Bitmp_Options.outHeight; int currentImageWidth = Bitmp_Options.outWidth; Bitmp_Options.inJustDecodeBounds = false; if(currentImageHeight < 200 || currentImageWidth < 200){ Object obj = […]

Изменение размера изображения, сгенерированного BitmapFactory.decodeByteArray ()

Я создаю аудиоплеер, я хочу показать обложку песни для проигрывателя, она работает с небольшим изображением, но если у mp3-файла есть большое изображение, то оно выходит из вида макета. Я обновляю изображение до 300×300, используя следующий код: BitmapFactory.Options opt = new BitmapFactory.Options(); opt.inDensity = 300; opt.inTargetDensity = 300; songCoverView.setImageBitmap(BitmapFactory.decodeByteArray(songCover, 0, songCover.length, opt)); Но он все еще […]