繁体   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