我想要得到的高度和宽度的图像位图,这是在ImageView
或背景图像。请帮助我,任何帮助都将不胜感激。
发布于 2012-01-16 21:15:33
您可以通过使用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.getWidth();
imageView.getHeight();
如果你有可绘制图像,你想要这个大小,你可以这样得到
Drawable d = getResources().getDrawable(R.drawable.yourimage);
int h = d.getIntrinsicHeight();
int w = d.getIntrinsicWidth();
发布于 2018-01-05 19:10:12
由于某种原因,被接受的答案对我不起作用,相反,我获得了目标屏幕dpi的图像尺寸,如下所示。
方法1
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
方法2
BitmapDrawable b = (BitmapDrawable)this.getResources().getDrawable(R.drawable.cake);
Log.d("MainActivity", "Image Width: " + b.getBitmap().getWidth());
它没有显示图像资源中确切的像素数,但这是一个有意义的数字,也许有人可以进一步解释。
https://stackoverflow.com/questions/8880376
复制相似问题