android 图片处理之制作圆角图片_安卓软件开发教程-查字典教程网
android 图片处理之制作圆角图片
android 图片处理之制作圆角图片
发布时间:2015-06-05 来源:查字典编辑
摘要:以下是改进一个前人做的圆角图片的例子,少创建一次bitmappublicstaticBitmaproundCorners(finalBitm...

以下是改进一个前人做的圆角图片的例子,少创建一次bitmap

public static Bitmap roundCorners(final Bitmap source, final float radius) {

int width = source.getWidth();

int height = source.getHeight();

Paint paint = new Paint();

paint.setAntiAlias(true);

paint.setColor(android.graphics.Color.WHITE);

Bitmap clipped = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);

Canvas canvas = new Canvas(clipped);

canvas.drawRoundRect(new RectF(0, 0, width, height), radius, radius,

paint);

paint.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.SRC_IN));

canvas.drawBitmap(source, 0, 0, paint);

source.recycle();

return clipped;

}

原例:

/**

* Round the corners of a {@link Bitmap}

*

* @param source

* @param radius

* @return rounded corner bitmap

*/

public static Bitmap roundCorners(final Bitmap source, final float radius) {

int width = source.getWidth();

int height = source.getHeight();

Paint paint = new Paint();

paint.setAntiAlias(true);

paint.setColor(WHITE);

Bitmap clipped = Bitmap.createBitmap(width, height, ARGB_8888);

Canvas canvas = new Canvas(clipped);

canvas.drawRoundRect(new RectF(0, 0, width, height), radius, radius,

paint);

paint.setXfermode(new PorterDuffXfermode(DST_IN));

Bitmap rounded = Bitmap.createBitmap(width, height, ARGB_8888);

canvas = new Canvas(rounded);

canvas.drawBitmap(source, 0, 0, null);

canvas.drawBitmap(clipped, 0, 0, paint);

source.recycle();

clipped.recycle();

return rounded;

}

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新安卓软件开发学习
    热门安卓软件开发学习
    编程开发子分类