Android开发剪裁图片实现方法(直接操作bitmap)
程序员文章站
2023-01-29 21:08:19
android开发剪裁图片实现方法(直接操作bitmap)。
/**
* 按正方形剪裁图片
* 指定正方形边长
*/
p...
android开发剪裁图片实现方法(直接操作bitmap)。
/** * 按正方形剪裁图片 * 指定正方形边长 */ public static bitmap imagecrop(bitmap bitmap, int width) { // 得到图片的宽,高 int w = bitmap.getwidth(); int h = bitmap.getheight(); //width最大不能超过长方形的短边 if (w < width || h < width) { width = w > h ? h : w; } int retx = (w - width) / 2; int rety = (h - width) / 2; return bitmap.createbitmap(bitmap, retx, rety, width, width, null, false); }
/** * 按正方形剪裁图片 * 截最大的正方形 */ public static bitmap imagecrop(bitmap bitmap) { // 得到图片的宽,高 int w = bitmap.getwidth(); int h = bitmap.getheight(); int width = w > h ? h : w; int retx = (w - width) / 2; int rety = (h - width) / 2; return bitmap.createbitmap(bitmap, retx, rety, width, width, null, false); }
这两种方法截出来的正方形和原图片的中心都是重合的。其实只要善用bitmap.createbitmap(bitmap source, int x, int y, int width, int height)这个方法,想截什么样的图都可以。