4
在我的項目中,我有一個填充整個屏幕的位圖。在這個位圖上,我繪製了一條路徑:PorterDuff和路徑
android.graphics.Canvas.drawPath(Path path, Paint paint)
設置塗料以便描邊和填充路徑的內容。我將實現的是擦除與路徑相交的bitamp部分。我設法使用另一個bitmap而不是路徑,並使用porter duff規則來獲得相同的行爲。有沒有機會在路徑上做同樣的事情?
mPaintPath.setARGB(100, 100, 100, 100);// (100, 100, 100, 100)
mPaintPath.setStyle(Paint.Style.FILL_AND_STROKE);
mPaintPath.setAntiAlias(true);
mPath.moveTo(x0, y0));
mPath.lineTo(x1, y1);
mPath.lineTo(x2, y2);
mPath.lineTo(x3, y3);
mPath.lineTo(x0, y0);
mPath.close();
c.drawPath(mPath, mPaintPath);
哦,我看到..所以porterduff」規則只適用於位圖? – Blackbelt
是的,Porter-Duff操作是基於像素的。 –
太棒了!您保存了我的一天,如果不調用cavas.saveLayer,自定義視圖的背景色將變爲黑色。 –