Android编程实现等比例显示图片的方法

2019-12-10 19:53:03于海丽

易采站长站为您分析Android编程实现等比例显示图片的方法,实例分析了Android等比例缩放图片的具体步骤与相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了Android编程实现等比例显示图片的方法。,具体如下:

在android中,由于密度的影响,如果想得到图片的宽高是不行的,具体为什么我就大概说一下,具体的请搜索度娘或者古哥吧。 原因是如果你把图片放在drawable-mdpi里,而手机是属于drawable-hdpi的话,图片是被自动放大,就这样取到的宽与高未必就是正确的。那么如何让android上面显示的图片是基于原来图片的比例呢,首先你可以在res目录下创建一个drawable-nodpi的目录,这个目录下的图片是不根据dpi的多少来进行拉伸或者缩小滴。然后,就是根据屏幕的宽 和 图片的宽高 得出图片在屏幕显示的高,宽是固定的,就是屏幕的宽,所以不用算了。

 

 
  1. private void getWidth_Height() {  Display display = getWindowManager().getDefaultDisplay(); 
  2. int width = display.getWidth(); // deprecated  int height = display.getHeight(); // deprecated 
  3. Bitmap mBitmap = createImageWithResouce(R.drawable.history4);  image.setLayoutParams(new LayoutParams(width, width / getBitmapWidth(mBitmap) * getBitmapHeight(mBitmap))); 
  4. image.setImageBitmap(createImageWithResouce(R.drawable.history4));  } 
  5. private Bitmap createImageWithResouce(int resourceID) {  Bitmap bit = BitmapFactory.decodeResource(getResources(), R.drawable.history4); 
  6. return bit;  } 
  7. private int getBitmapWidth(Bitmap bitmap){  return bitmap.getWidth(); 
  8. }  private int getBitmapHeight(Bitmap bitmap){ 
  9. return bitmap.getHeight();  } 
  10. // 释放bitmap  private void releaseBitmap(Bitmap bitmap){ 
  11. if (bitmap!=null && !bitmap.isRecycled()) {  bitmap.recycle(); 
  12. bitmap = null;  }