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 設定的值,將會指出是否重複使用位陣圖,但在所有情況下,您應該使用譯碼函式傳回的 Bitmap,以確保您使用做為譯碼目的地的位圖。
<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.inBitmapJava 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。