我正在尝试将Bitmap
填入白圈内,更具体地说:
我有Bitmap
例如:
我想要这个:
我将背景变为灰色以便理解图像。
我使用这种方法,但它没有达到我想要的效果..
public static Bitmap getRoundedBitmap(Bitmap bitmap)
{
final Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
final Canvas canvas = new Canvas(output);
final int color = Color.WHITE;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
final RectF rectF = new RectF(rect);
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawOval(rectF, paint);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, paint);
bitmap.recycle();
return output;
}
答案 0 :(得分:1)
我猜你用来绘制椭圆的颜色是ALPHA = 0.尝试用Color(1.0f,1.0f,1.0f,1.0f)替换Color.WHITE。告诉我,如果这解决了你的问题,并看看: What does PorterDuff.Mode mean in android graphics.What does it do?
在这种情况下,对于SRC_IN:[Sa * Da,Sc * Da](取自android引用,PorterDuff.Mode)
答案 1 :(得分:-1)
这是一个使用XML格式的示例。
1)右键单击drawable资源文件夹并创建一个新的Drawable资源文件。
2)粘贴以下代码。这会创建一个可绘制的资源,其外观与您想要的背景非常相似。
;
3)使用布局中的资源。用您的' tick'替换我的占位符Android复选框。资源文件。
preg_replace('/[a-z( )]+/','string','replace');