【发布时间】:2016-04-26 17:52:08
【问题描述】:
我正在使用以下代码将 ImageView 转换为圆形 iage,但在 "Mode.SRC_IN" 处出现错误。需要帮忙。提前谢谢你。
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;
}
【问题讨论】:
-
您在 Mode.SRC_IN 遇到了什么错误?
-
检查导入,我认为你需要导入
import android.graphics.PorterDuff.Mode;而不是import android.graphics.AvoidXfermode.Mode;。 -
@user3387867 在这里查看我的答案stackoverflow.com/questions/22200614/…
-
@pskink 我给出了相同的答案,但有人给了我的答案-1。
-
@KishanDhamat 你是什么意思?
标签: android