带有圆形图像的Imageview无法正常工作

时间:2013-09-30 11:15:55

标签: android image

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

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.So在我的班级中我使用了以下代码:

imgLoader.DisplayImage(strFBProfilePic, imgProfilePic);

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

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

最后我得到了如下输出:

enter image description here

所以请建议我在我的代码中弄错了。提前预订

1 个答案:

答案 0 :(得分:1)

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

dispImage = ImageHelper.getRoundedCornerBitmap(bitmap, 10);