根據圖片能夠看出共有16中模式git
所繪製不會提交到畫布上github
顯示上層繪製圖片canvas
顯示下層繪製圖片bash
正常繪製顯示,上下層繪製疊蓋ui
上下層都顯示。下層居上顯示spa
取兩層繪製交集。顯示上層。code
取兩層繪製交集。顯示下層。cdn
取上層繪製非交集部分blog
取下層繪製非交集部分圖片
取下層非交集部分與上層交集部分
取上層非交集部分與下層交集部分
異或:去除兩圖層交集部分
取兩圖層所有區域,交集部分顏色加深
取兩圖層所有,點亮交集部分顏色
取兩圖層交集部分疊加後顏色
取兩圖層所有區域,交集部分變爲透明色
根據圖層混合模式實現圓角圖片
private Bitmap getRoundBitMap(Bitmap bitmap) {
Bitmap bitmap1 = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap1);
Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
mPaint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
mPaint.setColor(0xff000000);
canvas.drawRoundRect(new RectF(rect), 20, 20, mPaint);
mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(bitmap, rect, rect, mPaint);
mPaint.setXfermode(null);
return bitmap1;
}
複製代碼
感謝你們的閱讀 點個讚唄
關注我 持續更新