https://www.jianshu.com/p/762b490403c3 bitmap=createScaleBitmap(bitmap,width/2+1,height/2+1); Bitmap bitmap1= Bitmap.createBitmap(width,height,Bitmap.Config.ARGB_8888); Canvas canvas=new Canvas(bitmap1); canvas.drawBitmap(bitmap,0,0,null); canvas.drawBitmap(bitmap,0,height/2,null); canvas.drawBitmap(bitmap,width/2,0,null); canvas.drawBitmap(bitmap,width/2,height/2,null); imageView.setImageBitmap(bitmap1);
protected void bitmapScale(float x, float y) { // ��ΪҪ��ͼƬ�Ŵ�����Ҫ���ݷŴ�ijߴ����´���Bitmap Bitmap afterBitmap = Bitmap.createBitmap( (int) (baseBitmap.getWidth() * x), (int) (baseBitmap.getHeight() * y), baseBitmap.getConfig()); Canvas canvas = new Canvas(afterBitmap); // ��ʼ��Matrix���� Matrix matrix = new Matrix(); // ���ݴ���IJ����������ű��� matrix.setScale(x, y); // �������ű�������ͼƬdraw��Canvas�� canvas.drawBitmap(baseBitmap, matrix, paint); iv_after.setImageBitmap(afterBitmap); }
/** * ��бͼƬ */ protected void bitmapSkew(float dx, float dy) { // ����ͼƬ����б����������任��ͼƬ�Ĵ�С�� Bitmap afterBitmap = Bitmap.createBitmap(baseBitmap.getWidth() + (int) (baseBitmap.getWidth() * dx), baseBitmap.getHeight() + (int) (baseBitmap.getHeight() * dy), baseBitmap.getConfig()); Canvas canvas = new Canvas(afterBitmap); Matrix matrix = new Matrix(); // ����ͼƬ��б�ı��� matrix.setSkew(dx, dy); canvas.drawBitmap(baseBitmap, matrix, paint); iv_after.setImageBitmap(afterBitmap); } /** * ͼƬ�ƶ� */ protected void bitmapTranslate(float dx, float dy) { // ��Ҫ�����ƶ��ľ���������ͼƬ�Ŀ���ͼ��С Bitmap afterBitmap = Bitmap.createBitmap( (int) (baseBitmap.getWidth() * dx), (int) (baseBitmap.getHeight() * dy), baseBitmap.getConfig()); Canvas canvas = new Canvas(afterBitmap); Matrix matrix = new Matrix(); // �����ƶ��ľ��� matrix.setTranslate(dx, dy); canvas.drawBitmap(baseBitmap, matrix, paint); iv_after.setImageBitmap(afterBitmap); } /** * ͼƬ��ת */ protected void bitmapRotate(float degrees) { // ����һ����ԭͼһ����С��ͼƬ Bitmap afterBitmap = Bitmap.createBitmap(baseBitmap.getWidth(), baseBitmap.getHeight(), baseBitmap.getConfig()); Canvas canvas = new Canvas(afterBitmap); Matrix matrix = new Matrix(); // ����ԭͼ������λ����ת matrix.setRotate(degrees, baseBitmap.getWidth() / 2, baseBitmap.getHeight() / 2); canvas.drawBitmap(baseBitmap, matrix, paint); iv_after.setImageBitmap(afterBitmap); }