通过传入图片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(); }