简介:Android长方形图片生成正圆形,以及矩形图片生成圆角
Android长方形图片生成正圆形,以及矩形图片生成圆角
在Android开发中,我们经常需要处理图像的形状和样式。例如,我们可能需要将长方形的图片裁剪成正圆形,或者将矩形的图片裁剪成带有圆角的样式。这些操作可以通过使用Android的Bitmap类和Canvas类来实现。下面,我们将详细介绍这两个操作的实现过程。
一、Android长方形图片生成正圆形
Bitmap originalBitmap = ... // 这是原始的图片int size = originalBitmap.getWidth(); // 假设我们希望生成的圆形的直径与原始图片的宽度相同Bitmap roundBitmap = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(roundBitmap);float radius = size / 2; // 这是生成的圆形的半径Paint paint = new Paint();paint.setAntiAlias(true); // 这将使生成的圆形更平滑canvas.drawCircle(radius, radius, radius, paint);
二、Android矩形图片生成圆角
originalBitmap.recycle(); // 释放原始图片所占用的内存originalBitmap = roundBitmap;
Bitmap originalBitmap = ... // 这是原始的图片int size = originalBitmap.getWidth(); // 假设我们希望生成的圆角的半径与原始图片的宽度相同Bitmap roundedBitmap = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(roundedBitmap);float radius = size / 2; // 这是生成的圆角的半径Paint paint = new Paint();paint.setAntiAlias(true); // 这将使生成的圆角更平滑canvas.drawRoundRect(new RectF(0, 0, size, size), radius, radius, paint);