BitmapFactory.Options.InBitmap 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
如果设置,采用 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>
你仍应始终使用解码方法返回的位图,而不是假定重复使用位图有效,因为上述约束和可能发生的失败情况。 检查返回值是否与 Options 结构中 inBitmap 集的值匹配将指示是否重用了位图,但在所有情况下,都应使用解码函数返回的位图来确保使用用作解码目标的位图。
<h3>使用 BitmapFactory</h3>
从此android.os.Build.VERSION_CODES#KITKAT
,只要解码的位图的结果Bitmap#getByteCount() byte count
小于或等于Bitmap#getAllocationByteCount() allocated byte count
重复使用的位图,任何可变位图都可以重复使用BitmapFactory
以解码任何其他位图。 这是因为内部大小较小,或者其大小后缩放(对于密度/样本大小)较小。
<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 支持的所有格式都支持通过 #inBitmap
位图重用。
适用于 . 的 android.graphics.BitmapFactory.Options.inBitmap
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。