Android图片总结
图片缩放:
public static Drawable resizeImage(Drawable d, int w, int h) { // load the origial Bitmap Bitmap BitmapOrg = ((BitmapDrawable) d).getBitmap(); int width = BitmapOrg.getWidth(); int height = BitmapOrg.getHeight(); int newWidth = w; int newHeight = h; // 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); 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);}?
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; // 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); }?图片写字:
/** * 图片上画字 * */private Bitmap drawTextAtBitmap(Bitmap bitmap,String text){int x = bitmap.getWidth();int y = bitmap.getHeight();// 创建一个和原图同样大小的位图Bitmap newbit = Bitmap.createBitmap(x, y, Bitmap.Config.ARGB_8888);Canvas canvas = new Canvas(newbit);Paint paint = new Paint();// 在原始位置0,0插入原图canvas.drawBitmap(bitmap, 0, 0, paint);paint.setColor(Color.parseColor("#dedbde"));paint.setTextSize(20);// 在原图指定位置写上字canvas.drawText(text, 53 , 30, paint);canvas.save(Canvas.ALL_SAVE_FLAG);// 存储canvas.restore();return newbit;}?
1 楼 jn615 2010-08-16 return newbit;