-1

在我的应用程序中,我想要圆形图像。我正在使用以下方法来圆形图像。

public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, int pixels) {


Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);
    Canvas canvas = new Canvas(output);

    final int color = 0xff424242;
    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 = pixels;

    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.drawBitmap(bitmap, rect, rect, paint);

    return output;
}

我正在使用以下xml:

<ImageView 
    android:layout_centerInParent="true"
    android:layout_height="150dp"
    android:layout_width="150dp"
    android:src="@drawable/default_profilepic"
    android:id="@+id/image"
    android:layout_alignParentLeft="true"
    android:layout_marginLeft="13dp"
    android:layout_marginTop="0dp"
    android:scaleType="fitXY" />  

我正在使用 imageloader 类,因为我正在获取图像 url。所以在我的类中我使用了以下代码:

imgLoader.DisplayImage(strFBProfilePic, imgProfilePic);

在我的 imageloader 类中,我在 displayimage 方法中使用了以下代码:

dispImage=ImageHelper.getRoundedCornerBitmap(bitmap, 150);
imageView.setImageBitmap(dispImage);

最后我得到如下输出:

在此处输入图像描述

所以请建议我在我的代码中做错了什么。提前坦克

4

1 回答 1

1

我猜getRoundedCornerBitmap方法的第二个参数是角的半径。尝试给出较小的值,例如

dispImage = ImageHelper.getRoundedCornerBitmap(bitmap, 10);
于 2013-09-30T11:19:16.607 回答