アンドロイド。リソースIDから画像サイズを取得します
-
11-12-2019 - |
質問
これは私の活動の一部です:
private ImageView mImageView;
private int resource;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
resource = getIntent().getIntExtra("res", -1);
Matrix initMatrix = new Matrix();
mImageView = new ImageView(getApplicationContext());
mImageView.setScaleType( ImageView.ScaleType.MATRIX );
mImageView.setImageMatrix( initMatrix );
mImageView.setBackgroundColor(0);
mImageView.setImageResource(resource);
}
.
ImageView内の画像をスケールタイプとして表示してみてください(後でマルチタッチを追加したい)。しかし、ユーザーが相互作用を開始する前に、イメージを中心にしてImageView内にフィットします。 私はすでにそれを解決する方法について答えが見つかりましたが、私には1つの問題があります。 マトリックスを使用して画像を中心にするためには、その幅と高さを知る必要があります。 Intリソース?
解決
getheight と
リサイクルあなたのビットマップ
編集:
このように、null
ビットマップを出力として取得しますが、BitmapFactory.Optionsはビットマップのwith and高さで設定されます。そのため、この場合は、ビットマップをリサイクルする必要はありません
BitmapFactory.Options dimensions = new BitmapFactory.Options();
dimensions.inJustDecodeBounds = true;
Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bitmap, dimensions);
int height = dimensions.outHeight;
int width = dimensions.outWidth;
. 他のヒント
DMONのコメントを読みませんでした。これを行うコードは次のようになります。
final Options opt = new BitmapFactory.Options();
opt.inJustDecodeBounds = true;
BitmapFactory.decodeResource(getResources(), R.drawable.your_photo, opt);
opt.outHeight; // height of resource
opt.outWidth; // width of resource
. 所属していません StackOverflow