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) {
	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: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();
}
暂无评论
  • 1:请一针见血的评论。
  • 2:评论需要审核通过后才能显示。
  • 3:评论字数限制在1000字以内。
  • 当前字数:0
热门文章
推荐文章
随机文章
关于本站 - 广告服务 - 版权声明 - 联系我们 - 友情链接 - 网站地图 - 帮助中心