Android图片处理方法(不断收集中)

//通过传入图片url获取位图方法

        public Bitmap returnBitMap(String url) {
        	URL myFileUrl = null;
        	Bitmap bitmap = null;
        	try {
        	     myFileUrl = new URL(url);
        	} catch (MalformedURLException e) {
        	     e.printStackTrace();
        	}
        	try {
        	     HttpURLConnection conn = (HttpURLConnection) myFileUrl
        	     .openConnection();
        	     conn.setDoInput(true);
        	     conn.connect();
        	     InputStream is = conn.getInputStream();
        	     bitmap = BitmapFactory.decodeStream(is);
        	     is.close();
        	} catch (IOException e) {
        	     e.printStackTrace();
        	}
        	    Log.v(tag, bitmap.toString());

        	    return bitmap;
        	}

//通过传入位图,新的宽.高比进行位图的缩放操作

        public static Drawable resizeImage(Bitmap bitmap, int w, int h) {

        	// load the origial Bitmap
        	Bitmap BitmapOrg = bitmap;

        	int width = BitmapOrg.getWidth();
        	int height = BitmapOrg.getHeight();
        	int newWidth = w;
        	int newHeight = h;

        	Log.v(tag, String.valueOf(width));
        	Log.v(tag, String.valueOf(height));

        	Log.v(tag, String.valueOf(newWidth));
        	Log.v(tag, String.valueOf(newHeight));

        	// calculate the scale
        	float scaleWidth = ((float) newWidth) / width;
        	float scaleHeight = ((float) newHeight) / height;

        	// create a matrix for the manipulation
        	Matrix matrix = new Matrix();
        	// resize the Bitmap
        	matrix.postScale(scaleWidth, scaleHeight);
        	// if you want to rotate the Bitmap
        	// matrix.postRotate(45);

        	// recreate the new Bitmap
        	Bitmap resizedBitmap = Bitmap.createBitmap(BitmapOrg, 0, 0, width,
        	height, matrix, true);

        	// make a Drawable from Bitmap to allow to set the Bitmap
        	// to the ImageView, ImageButton or what ever
        	return new BitmapDrawable(resizedBitmap);
        	}

//加载本地图片

        * @param context:主运行函数实例
        * @param bitAdress:图片地址,一般指向R下的drawable目录
        * @return*/
        public final Bitmap CreatImage(Context context, int bitAdress) {
        	Bitmap bitmaptemp = null;
        	bitmaptemp = BitmapFactory.decodeResource(context.getResources(),bitAdress);
        	return bitmaptemp;
        }

 

// 图片平均分割方法,将大图平均分割为N行N列,方便用户使用

        /**** 图片分割
         * @param g :画布  paint:画笔   imgBit:图片   x
         :X轴起点坐标  y:Y轴起点坐标  w:单一图片的宽度  h:单一图片的高度 line:第几列  row:第几行
         */
        public final void cutImage(Canvas g, Paint paint, Bitmap imgBit, int x,
             int y, int w, int h, int line, int row) {
        	g.clipRect(x, y, x + w, h + y);
        	g.drawBitmap(imgBit, x – line * w, y – row * h, paint);
        	g.restore();
        }
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值