如何在android平台的DPI中获取X&Y分辨率?
问题描述:
如何在android平台上获得DPI中位图的X分辨率X &? 我期待像一些API“GetXResInDPI()”象下面这样:如何在android平台的DPI中获取X&Y分辨率?
double getXResolution(Bitmap bmp) { double lXRes = Bmp.GetXResInDPI(); return lXRes; }
我无法获得Android平台的任何这样的方法,尽管鞭打的通过Java文档。
任何帮助,将不胜感激。
答
我不确定我是否理解这个问题,但看起来您可能正在寻找getScaledHeight()/ getScaledWidth()。
int xdpi, ydpi;
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
Bitmap bmp = BitmapFactory.decodeResources(getResources(), R.drawable.my_bitmap);
xdpi = bmp.getScaledWidth(metrics);
ydpi = bmp.getScaledHeight(metrics);
同样,我可能会误解你的问题,但这听起来像你在找什么。
嘿,谢谢你!但是,getWindowManager()。getDefaultDisplay()。getMetrics(metrics);不起作用,因为它取决于当前的活动。我希望返回传递给该函数的位图的x和y分辨率。 – 2010-10-29 08:25:17
有没有理由不能使用Bitmap.getWidth()和Bitmap.getHeight()? – kcoppock 2010-10-29 11:54:25
Bitmap.getWidth()和Bitmap.getHeight()会工作...但只适用于小图像。位图位图= BitmapFactory.decodeFile(_absoluteImagePath);大图像会失败。但是,要仅获取宽度和高度,请按如下所示使用:选项optionsBmpInfo = new Options(); \t \t \t \t optionsBmpInfo.inJustDecodeBounds = true; \t \t \t \t位图BITMAPINFO = BitmapFactory.decodeFile(_absoluteImagePath, \t \t \t \t \t \t optionsBmpInfo); – 2011-01-05 06:38:31