簡體   English   中英

Android-Canvas Paint-僅在白色/透明上繪制

[英]Android - Canvas Paint - only draw over White/Transparent

我只需要在尚未繪制的區域上繪制矩形。

例如,當我調用drawText編寫某些內容,然后在其上方繪制Rect時,它應該在文本后面。

我不能簡單地先繪制Rect,然后在這種情況下編寫Text。

我了解了XFermode,但我不知道如何使用它。

您可以將繪畫對象設置為將PorterDuffXfermode與混合模式Mode.MULTIPLY結合使用。

import android.graphics.PorterDuffXfermode;
import android.graphics.PorterDuff.Mode;

private void setupPaint(Paint paint) {
    paint.setXfermode(new PorterDuffXfermode(Mode.MULTIPLY));
}

private void clearXfermode(Paint paint) {
    paint.setXfermode(null);
}

在我看來,最好先繪制矩形然后再繪制文本,以提高性能,但是如果不能這樣做,請使用PorterDuffXfermode

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM