private void drawBitmap(Bitmap bitmap) {        Bitmap newBmp = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());        Canvas canvas = new Canvas(newBmp);        Paint p = new Paint();        canvas.drawBitmap(bitmap, 0, 0, p);        imageView.setImageBitmap(newBmp);}
private void drawMatrixBitmap(Bitmap bitmap) {        Bitmap newBmp = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());        Canvas canvas = new Canvas(newBmp);        Paint p = new Paint();//        Matrix matrix = new Matrix();//        matrix.setValues(new float[]{//                .5f, 0, 0,//                0, 1, 0,//                0, 0, 1//        });//        Matrix matrix = new Matrix();//        matrix.setValues(new float[] {//                1, .5f, 0,//                0, 1, 0,//                0, 0, 1//        });        Matrix matrix = new Matrix();//        matrix.setRotate(15);//        matrix.setScale(1,0.5f);//        matrix.setTranslate(1.5f,-10);//        matrix.setScale(1.5f, 1);//        matrix.postRotate(15,bitmap.getWidth()/2,bitmap.getHeight()/2);        // 镜像//        matrix.setScale(-1, 1);//        matrix.postTranslate(bitmap.getWidth(),0);        // 倒置        matrix.setScale(1, -1);        matrix.postTranslate(0, bitmap.getHeight());        canvas.drawBitmap(bitmap, matrix, p);        imageView.setImageBitmap(newBmp);}
 private void matrixAndBitmap(Bitmap bitmap) {        Matrix matrix = new Matrix();        matrix.setRotate(15, bitmap.getWidth() / 2, bitmap.getHeight() / 2);        Bitmap alteredBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(),                matrix, false);        imageView.setImageBitmap(alteredBitmap);}
private void colorMatrixDraw(Bitmap bitmap) {        Bitmap alteredBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), bitmap.getConfig());        Canvas canvas = new Canvas(alteredBitmap);        Paint paint = new Paint();        ColorMatrix cm = new ColorMatrix();//        cm.set(new float[] {//                2, 0, 0, 0, 0,//                0, 1, 0, 0, 0,//                0, 0, 1, 0, 0,//                0, 0, 0, 1, 0//        });//        float contrast = 2;//        cm.set(new float[] {//                contrast, 0, 0, 0, 0,//                0, contrast, 0, 0, 0,//                0, 0, contrast, 0, 0,//                0, 0, 0, 1, 0 });//        float brightness = -25;//        cm.set(new float[] {//                1, 0, 0, 0, brightness,//                0, 1, 0, 0, brightness,//                0, 0, 1, 0, brightness,//                0, 0, 0, 1, 0 });//        float contrast = 2;//        float brightness = -25;//        cm.set(new float[] {//                contrast, 0, 0, 0, brightness,//                0, contrast, 0, 0, brightness,//                0, 0, contrast, 0, brightness,//                0, 0, 0, contrast, 0 });        cm.setSaturation(0.5f);        paint.setColorFilter(new ColorMatrixColorFilter(cm));        Matrix matrix = new Matrix();        canvas.drawBitmap(bitmap, matrix, paint);        imageView.setImageBitmap(alteredBitmap);}

 

更多相关文章

  1. 软件开发人员学习ML:是不是本末倒置了?
  2. android竖着的seekbar
  3. [Android]读写fb0测试

随机推荐

  1. Android(安卓)离线用户的灰色头像处理
  2. Android(安卓)AVD Manager无法识别真机,ad
  3. android xml中?和 @
  4. android 系统启动
  5. Android应用程序消息处理机制(Looper、Han
  6. android 中SoundPool总结
  7. Android(安卓)实用工具Hierarchy Viewer
  8. android打开系统联系人界面
  9. Android(安卓)安装环境搭建
  10. android之wifi移植全过程(二)