我正在将矩形形状的位图转换为圆形图像,但问题是圆形图像不平滑且没有填满整个圆形。 我用来转换成圆圈的代码:
public Bitmap getRoundedShape(Bitmap scaleBitmapImage) {
int targetWidth =(int) mContext.getResources().getDimension(R.dimen.prof_pic_diameter);
int targetHeight =(int) mContext.getResources().getDimension(R.dimen.prof_pic_diameter);
Bitmap targetBitmap = Bitmap.createBitmap(targetWidth,
targetHeight,Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(targetBitmap);
Path path = new Path();
path.addCircle(((float) targetWidth - 1) / 2,
((float) targetHeight - 1) / 2,
(Math.min(((float) targetWidth),
((float) targetHeight)) / 2),
Path.Direction.CCW);
canvas.clipPath(path);
Bitmap sourceBitmap = scaleBitmapImage;
canvas.drawBitmap(sourceBitmap,
new Rect(0, 0, sourceBitmap.getWidth(),
sourceBitmap.getHeight()),
new Rect(0, 0, targetWidth, targetHeight), null);
return targetBitmap;
}
答案 0 :(得分:0)
使用我的代码代替您的代码。如果这不是真的。尝试增加位图增加dimen
的{{1}}值。
dpi