res/drawableにビットマップを配置しました。Androidでビットマップのサイズを自動的に変更したくない
BitmapFactory.decodeResource()でビットマップを読み込んだ後、密度によって自動的にサイズが変更されることがわかりました。
これは私が望むものではありません。 元のサイズ(ピクセルサイズ)を維持したい。
どうすればよいですか?
res/drawableにビットマップを配置しました。Androidでビットマップのサイズを自動的に変更したくない
BitmapFactory.decodeResource()でビットマップを読み込んだ後、密度によって自動的にサイズが変更されることがわかりました。
これは私が望むものではありません。 元のサイズ(ピクセルサイズ)を維持したい。
どうすればよいですか?
hdpi、ldpi、およびmdpiに別々のイメージを保存していて、これらのイメージにアクセスするためにリソースを使用している場合は、あまり操作できません。
イメージを1つだけ使用したい場合は、そのイメージをmdpiフォルダに1つコピーし、それ以外のイメージを削除します。
イメージを「drawable」というフォルダに配置します(ldpi、mdpi、hdpiなどの接尾辞なし)。おそらく自分で作成する必要があるかもしれません(Eclipseはこれを自動的に作成しません)。
その後、他のdrawable-somethingフォルダからdrawableリソースを削除してください。
http://developer.android.com/guide/practices/screens_support.html
あなたがnodpiサフィックスを使用している場合、システムが自動的にあなたの写真をスケーリングしません。それが役に立てば幸い!
他の質問で言われたように、drawable-nodpiフォルダを使用すると、アンドロイドの画像サイズが変更されなくなります。
さらに、hdpiおよびldpi形式の画像の複数のバージョンを使用したいが、システムのサイズを変更したくない場合(たとえば、2倍の解像度を維持するため)、次のコードを使用できますあなたのビットマップをロード中:
// ask the bitmap factory not to scale the loaded bitmaps
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inScaled = false;
// load the bitmap
Bitmap bitmap = BitmapFactory.decodeResource(ctx.getResources(), R.id.mybmp, opts);
オプションをload isntructionに追加する必要があります:Bitmap bitmap = BitmapFactory.decodeResource(ctx.getResources()、R.id.mybmp、opts); –
ゴーグルの第2ラウンドの後、私は "drawable-nodpi"と呼ばれるフォルダがあることを知ります。したがって、問題は解決したようです。 – Sunny