Поделиться через


BitmapFactory.Options.InBitmap Свойство

Определение

Если задано, декодирование методов, которые принимают объект Options, попытается повторно использовать эту растровую карту при загрузке содержимого.

[Android.Runtime.Register("inBitmap")]
public Android.Graphics.Bitmap InBitmap { get; set; }
[<Android.Runtime.Register("inBitmap")>]
member this.InBitmap : Android.Graphics.Bitmap with get, set

Значение свойства

Атрибуты

Комментарии

Если задано, декодирование методов, которые принимают объект Options, попытается повторно использовать эту растровую карту при загрузке содержимого. Если операция декодирования не может использовать эту растровую карту, метод декодирования вызовет java.lang.IllegalArgumentExceptionисключение. Текущая реализация требует, чтобы повторно использованная растровая карта была мутируемой, и результирующая повторно использованная растровая карта будет оставаться мутируемой даже при декодировании ресурса, который обычно приводит к неизменяемому растровому рисунку.</p>

Вы по-прежнему должны всегда использовать возвращаемую битовую карту метода декодирования, а не предположить, что повторное использование растрового изображения работало из-за ограничений, описанных выше, и ситуаций сбоя, которые могут возникнуть. Проверка соответствия возвращаемого значения значению набора inBitmap в структуре "Параметры" указывает, используется ли растровое изображение повторно, но во всех случаях следует использовать битовое изображение, возвращаемое функцией декодирования, чтобы убедиться, что в качестве декодирования используется растровое изображение, используемое в качестве назначения декодирования.

<Использование h3>с BitmapFactory</h3>

android.os.Build.VERSION_CODES#KITKATПо состоянию на это можно повторно использовать BitmapFactory любое мутируемое растровое изображение, чтобы декодировать любые другие растровые изображения, если Bitmap#getByteCount() byte count результат декодированного растрового изображения меньше или равен Bitmap#getAllocationByteCount() allocated byte count повторно использованной растровой карте. Это может быть связано с тем, что внутренний размер меньше или размер после масштабирования (для плотности или выборки) меньше.

<p class="note">До android.os.Build.VERSION_CODES#KITKAT применения дополнительных ограничений: декодирование изображения (будь то ресурс или поток) должно быть в формате JPEG или PNG. Поддерживаются #inSampleSize только точечные изображения с равным размером 1. Кроме того, android.graphics.Bitmap.Config configuration повторно использованная растровая карта переопределит параметр #inPreferredConfig, если задано.</p>

<Использование h3>с BitmapRegionDecoder</h3>

BitmapRegionDecoder нарисует запрошенное содержимое в предоставленном битовом рисунке, вырезка, если размер выходного содержимого (после масштабирования) больше предоставленного растрового изображения. Ширина, высота и высота Bitmap.Config предоставленного растрового рисунка не будут изменены.

<p class="note">BitmapRegionDecoder поддерживается #inBitmap в android.os.Build.VERSION_CODES#JELLY_BEAN. Все форматы, поддерживаемые BitmapRegionDecoder, поддерживают повторное использование bitmap через #inBitmap.

Документация по Java для android.graphics.BitmapFactory.Options.inBitmap.

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к