0
我試圖在畫布中繪製圓形位圖。如果我想要繪製的畫布是透明的,則位圖會被正確剪裁,但如果我以前使用不同的顏色繪製矩形,則不會。使用XferMode在畫布上繪製圓形位圖
繼承人我得到了什麼
paint.setColor(col.colors_Form[1]);
mCanvas.drawRect(0, 0, dim.titleContainer_Width, dim.titleContainer_Height, paint);
[...]
if (!mFormValues_BasicInformation.get(0).getAvatarImage().equals("")) {
mCanvas.save();
mCanvas.translate(300, 300);
byte[] byteArray = mFormValues_BasicInformation.get(0).getAvatarImage();
Bitmap bmp = Bitmap.createScaledBitmap(BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length), 250, 250, false);
final int color = col.colors_Form[1];
final Paint avatarPaint = new Paint();
final Rect rect = new Rect(0, 0, bmp.getWidth(),
bmp.getHeight());
avatarPaint.setAntiAlias(true);
mCanvas.drawARGB(0, 0, 0, 0);
avatarPaint.setColor(color);
mCanvas.drawCircle(bmp.getWidth()/2,
bmp.getHeight()/2, bmp.getWidth()/2, paint);
avatarPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
mCanvas.drawBitmap(bmp, rect, rect, avatarPaint);
bmp.recycle();
mCanvas.restore();
}
有誰知道如何解決這個問題? Thx提前! :)
使用'BitmapShader',其最簡單的辦法... – pskink
OUH那不是很具體: (你能提供一個例子嗎? – luQ
問叔叔谷歌,他會回答很多答案 – pskink