android 对图片进行裁剪的方法

/**
    * 获取网络图片
    * @param url--请求地址
    * @param width--定制宽度dp
    * @param height--定制位图dp
    * @return--定制的位图
    */
    public static Bitmap requestBitmap(String url,int width, int height){
       if(url != null){
          byte[] data = getByteData(url);
          if(data != null){
             int length = data.length;
             //add by Hfeng
             BitmapFactory.Options options= new BitmapFactory.Options();
             options.inJustDecodeBounds = true;
             BitmapFactory.decodeByteArray(data, 0, length, options);
             int w = options.outWidth;
             int h = options.outHeight;
             int dstWidth = 0;
             int dstHeight = 0;
             if(w > width){
                dstWidth = width;
             }
             else {
                dstWidth = w;
             }
             if(h > height){
                dstHeight = height;
             }
             else{
                dstHeight = h;
             }
             options.inJustDecodeBounds = false;
             options.inPreferredConfig = Bitmap.Config.RGB_565;
             options.inPurgeable = true;
             options.inInputShareable = true;
             Bitmap bitMap = BitmapFactory.decodeByteArray(data, 0, length, options);
//           Bitmap newBitmap = Bitmap.createScaledBitmap(bitMap, width, height, true);
                Bitmap newBitmap = Bitmap.createBitmap(bitMap,0,0,dstWidth,dstHeight,null,true);
                if(null != newBitmap){
                if(newBitmap != bitMap){
                   bitMap.recycle();
                }
                return newBitmap;
             }
             else {
                return bitMap;
            }
//           return bitMap;
          }         
       }
        return null;
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android图片缩放拖动裁剪是指在Android系统中,对图片进行缩放、拖动和裁剪的操作。 首先,可以使用ImageView组件来展示图片,并实现缩放功能,可以通过设置ImageView的ScaleType属性为MATRIX,然后使用Matrix类来实现缩放功能。可以通过设置Matrix的setScale方法来设置图片的缩放比例,如matrix.setScale(scaleX, scaleY)来设置图片的宽高缩放比例。然后,再将Matrix应用到ImageView上,将其设置给ImageView的setImageMatrix方法。 其次,可以通过监听触摸事件来实现图片的拖动功能。在ImageView上设置OnTouchListener,然后重写onTouch方法,在该方法中可以获取到用户触摸事件的坐标,并实现图片的移动效果。可以通过设置ImageView的setTranslationX和setTranslationY方法,来设置图片在X轴和Y轴上的平移距离。 最后,可以实现图片裁剪功能。可以通过裁剪图片所在的布局容器,可以使用FrameLayout布局容器作为裁剪容器。通过设置ImageView的scaleType为MATRIX,然后获取到ImageView的缩放后的图片的坐标和宽高,根据裁剪区域的大小,计算出裁剪的起始点和宽高,并使用Bitmap的createBitmap方法裁剪出所需的图片。 综上所述,Android图片缩放拖动裁剪可以通过设置ImageView的ScaleType属性为MATRIX实现缩放功能,通过监听触摸事件实现拖动功能,通过裁剪图片所在的布局容器实现裁剪功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值