- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个布局,里面有几个 View ——工具栏、recyclerview 和几个分隔符(它们是简单的 View ,高度为 2dp,宽度为 match_parent)。我想在布局上放置一个 mask ——其中最重要的部分是整个布局的圆角(而不是 View 本身)。我决定用重载的 dispatchDraw 函数创建我自己的 LinearLayout 类,我设法得到了不错的结果……除了一件事——那些角没有抗锯齿。
tl;dr 有没有什么方法可以将抗锯齿添加到 clipPath 函数中?我知道可以在 Paint 中打开它,然后使用 xfermodes 来遮盖布局,但是我不知道如何绘制 mask 然后绘制其他所有内容(不知道里面到底是什么)。
这是我的布局代码(类名、简单构造函数和 Path 字段除外):
@Override protected void dispatchDraw(Canvas canvas) {
if (path == null) {
path = new Path();
float margin = MyApplication.getInstance().getMetrics().density * 5;
path.addRoundRect(new RectF(margin,margin,getWidth()-margin, getHeight()-margin),
margin*2, margin*2, Path.Direction.CW);
}
canvas.clipPath(path);
super.dispatchDraw(canvas);
}
@Override protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
}
最佳答案
尝试 this SO answer ,当然不是 mMask.draw(canvas)
,它是由 NinePatchDrawable
制作的“ mask ”,您需要调用 canvas.drawPath()
与 Paint
设置为 PorterDuff.Mode.DST_IN
xfer 模式
关于java - 布局上 clipPath 的抗锯齿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37748652/
尝试使用 tkinter 为一系列 PIL 图像制作动画。我的帧持续时间 (ms) 的图表如下所示: 有人知道是什么导致了这种尖尖的锯齿图案吗? 这是一个重现的脚本: from PIL import
我正在尝试使用 Canvas 创建“星爆”效果,但线段出现令人难以置信的像素化。我做错了什么吗? var rays = 40; var canvas = $("header canvas")[0];
爪牙 我在 JAGS 中有一个仅拦截逻辑模型,定义如下: model{ for(i in 1:Ny){ y[i] ~ dbern(mu[s[i]]) } for(j in 1:Ns){
我是一名优秀的程序员,十分优秀!