【发布时间】:2013-06-07 02:07:10
【问题描述】:
我正在尝试围绕我的位图创建一个圆形框架!
使用此代码,我可以使我的位图变圆:
public static Bitmap getRoundedCornerBitmap(Bitmap bitmap) {
Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap
.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff4242DB;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect);
final float roundPx = bitmap.getWidth()/2;
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
//canvas.drawCircle(0, 0, bitmap.getWidth(), paint);
canvas.drawBitmap(bitmap, rect, rect, paint);
return output;
}
我尝试用画布画一个圆圈(注释掉的线),但没有结果。 有谁知道如何在它周围添加一个圆形边框?
编辑
当我使用线路时:
canvas.drawCircle(0, 0, bitmap.getWidth(), paint);
效果是,3 个角变圆,但左上角保持不变(90 度) 但是我看不到任何线条或圆圈!
【问题讨论】:
-
你有什么错误吗?如果没有是什么问题?
-
@Sam 哦对不起,我会更新问题!
-
后面的小影子是怎么做出来的?
标签: java android bitmap android-canvas