2016-09-01 8 views
2

私はLoading Large Bitmaps Efficientlyを読んでいると私はそれが2のべき乗である必要がないのはなぜinSampleSizeなぜInSampleSizeは2の累乗でなければならないのですか?

の概念を理解するために苦労していますか?それは必要以上に大きな画像を生成し、なぜ私はちょうど正確な幅と高さを設定することができないのだろうかと思う。

+0

正確に同じサイズを使用できますが、それでもmemmoryにロードされる大きなビットマップになります。最初にinsampleサイズを使用してビットマップ自体を減らし、必要な幅と高さを必要に応じて設定します。 – X3Btel

答えて

0

thisによると、SampleSizeはピクセル数を減らすだけです。 t be used on whole numbers, you can tは2ピクセルから1.5ピクセルにマッピングでき、2の累乗です。

inSampleSizeのポイントは、ビットマップの物理サイズを小さくすることです。次に、あなたのニーズに合わせてサイズを変更することができます。

+0

これは実際には質問に答えません。なぜ2の累乗でなければならないのですか? 3x3ピクセルを1にマップすることはできますが、3は2の累乗ではありません。 – lelloman

+0

inSampleSize cant map 3 to 1と表示されます.2対1のマップしかありません。そのようにすれば、2の威力で終了します。 – X3Btel

+0

? – lelloman

0

おそらく、画像をサンプリングするためにコヒーレントサンプリングを使用している可能性があります。それはそのパラメータのいくつかが2の累乗であることを必要とします。

関連する問題