当前位置: 代码迷 >> Android >> Android图片缩放 指定尺度
  详细解决方案

Android图片缩放 指定尺度

热度:43   发布时间:2016-04-28 02:56:52.0
Android图片缩放 指定尺寸
//使用Bitmap加Matrix来缩放    public static Drawable resizeImage(Bitmap bitmap, int w, int h)     {          Bitmap BitmapOrg = bitmap;          int width = BitmapOrg.getWidth();          int height = BitmapOrg.getHeight();          int newWidth = w;          int newHeight = h;          float scaleWidth = ((float) newWidth) / width;          float scaleHeight = ((float) newHeight) / height;          Matrix matrix = new Matrix();          matrix.postScale(scaleWidth, scaleHeight);          // if you want to rotate the Bitmap           // matrix.postRotate(45);           Bitmap resizedBitmap = Bitmap.createBitmap(BitmapOrg, 0, 0, width,                          height, matrix, true);          return new BitmapDrawable(resizedBitmap);      }
//使用BitmapFactory.Options的inSampleSize参数来缩放    public static Drawable resizeImage2(String path,			int width,int height)     {		BitmapFactory.Options options = new BitmapFactory.Options();		options.inJustDecodeBounds = true;//不加载bitmap到内存中		BitmapFactory.decodeFile(path,options); 		int outWidth = options.outWidth;		int outHeight = options.outHeight;		options.inDither = false;		options.inPreferredConfig = Bitmap.Config.ARGB_8888;		options.inSampleSize = 1;				if (outWidth != 0 && outHeight != 0 && width != 0 && height != 0) 		{			int sampleSize=(outWidth/width+outHeight/height)/2;			Log.d(tag, "sampleSize = " + sampleSize);			options.inSampleSize = sampleSize;		}			options.inJustDecodeBounds = false;		return new BitmapDrawable(BitmapFactory.decodeFile(path, options));			}


  相关解决方案