2011-01-04 7 views
2

ビットマップで手動で画像を描画しました。しかし、それはメモリエラーを示しています。 私は、画像の圧縮された形を私に示す画像のサイズを縮小しました。 表示される画像の元のサイズが必要です。このサイズは、メモリエラーから表示されます。親切にも、この問題を解決するのに私を助けてください。 私はコードの一部も囲んでいます。BItmap:メモリ不足です。アンドロイドで圧縮した後の元の画像サイズを取得する方法

ImageView iv1 =新しいImageView(mcontext);

BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2;

BitmapFactory.decodeFile(pageViewManager.getPenToolPath()+ pageViewManager.getCurrentPageIndex()+ ".jpg");

bmp = BitmapFactory.decodeFile(pageViewManager.getPenToolPath()+ pageViewManager.getCurrentPageIndex()+ ".jpg"、options);

iv1.setImageBitmap(bmp);

答えて

0

圧縮されていない画像で使用されるメモリ領域は、計算が簡単です。ピクセル数*色数、ピクセル数自体は高さ*幅です。例えば、24ビット(3バイト)で* 800〜1000の画像のために、メモリ・サイズは次のようになります

1000年* 800 * 3 = 2400000バイトまたは2,4-メガビット

+0

いいえ、私が必要といけませんしかし、私はそれを圧縮する必要なしにビットマップに描画した元の画像を表示したい。 – user562237

+0

私は本当に私があなたの質問を理解しているか分からない。 OutOfMemoryErrorが起こったときは、正確に? –

+0

options.inSampleSize = 1に設定すると、画像の元のサイズを示すメモリエラーが表示されます。私はoptions.inSampleSize = 2を設定してイメージを圧縮しました。しかし、私は元のイメージを読む必要があります。 – user562237

関連する問題