ImageViewまたは背景画像のいずれかにある画像ビットマップの高さと幅を取得したい。私を助けてください、どんな助けも感謝されます。
GetWidth()とgetHeight()を使用してImageViewの高さと幅を取得できますが、これは画像の正確な幅と高さを提供しません。 BitmapDrawableにドローアブルして、イメージをビットマップとして取得します。ここから幅と高さを取得できます
Bitmap b = ((BitmapDrawable)imageView.getBackground()).getBitmap();
int w = b.getWidth();
int h = b.getHeight();
またはここで好き
imageView.setDrawingCacheEnabled(true);
Bitmap b = imageView.getDrawingCache();
int w = b.getWidth();
int h = b.getHeight();
上記のコードは、デバイスのスクリーンショットのような現在のimageviewサイズのビットマップを提供します
imageViewサイズのみ
imageView.getWidth();
imageView.getHeight();
描画可能な画像があり、そのサイズが必要な場合は、このようにすることができます
Drawable d = getResources().getDrawable(R.drawable.yourimage);
int h = d.getIntrinsicHeight();
int w = d.getIntrinsicWidth();
何らかの理由で、受け入れられた答えは私にはうまくいきませんでしたが、代わりにこのようなターゲット画面のdpiに従って画像の寸法を達成しました。
Context context = this; //If you are using a view, you'd have to use getContext();
Resources resources = this.getResources();
BitmapFactory.Options bounds = new BitmapFactory.Options();
bounds.inJustDecodeBounds = true;
BitmapFactory.decodeResource(resources, R.drawable.cake, bounds); //use your resource file name here.
Log.d("MainActivity", "Image Width: " + bounds.outWidth);
ここに元のリンクがあります
http://upshots.org/Android/android-get-dimensions-of-image-resource
BitmapDrawable b = (BitmapDrawable)this.getResources().getDrawable(R.drawable.cake);
Log.d("MainActivity", "Image Width: " + b.getBitmap().getWidth());
画像リソース内の正確なピクセル数は表示されませんが、おそらく誰かがさらに説明できる意味のある数を示しています。