如何在 P2D 模式下绘制完全透明的像素/点?

发布于 2024-08-22 17:50:00 字数 688 浏览 7 评论 0原文

根据处理参考中风(gray, alpha)允许设置笔画的颜色和不透明度。在默认颜色模式下,alpha 值 255 表示完全不透明,而 0 值则表示完全透明。虽然这适用于(默认)JAVA2D 渲染器,但我似乎无法在 P2D 模式下绘制完全透明的点。

即使 alpha 值设置为 0(完全透明),此代码也清楚地在画布中心渲染了一个像素:

public class Transparency extends PApplet {

    @Override
    public void setup() {
        size(200, 200, P2D);
    }

    @Override
    public void draw() {
        stroke(0, 0);
        point(width / 2, height / 2);
    }

    public static void main(String[] args) {
        PApplet.main(new String[] { Transparency.class.getSimpleName() });
    }

}

这里出了什么问题?

According to the Processing Reference, stroke(gray, alpha) allows to set the color and opacity of the stroke. With the default color mode, an alpha value of 255 denotes full opacity, while a value of 0 should correspond to complete transparency. While this works with the (default) JAVA2D renderer, I can't seem to paint fully transparent points in P2D mode.

This code clearly renders a pixel at the center of the canvas, even though the alpha value is set to 0 (fully transparent):

public class Transparency extends PApplet {

    @Override
    public void setup() {
        size(200, 200, P2D);
    }

    @Override
    public void draw() {
        stroke(0, 0);
        point(width / 2, height / 2);
    }

    public static void main(String[] args) {
        PApplet.main(new String[] { Transparency.class.getSimpleName() });
    }

}

What's wrong here?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

百思不得你姐 2024-08-29 17:50:00

这是一个处理错误。
现在你唯一能做的就是自己检查透明度,如果透明度为零则不要绘制

This is a processing bug.
For now the only thing you can do is check the transparency yourself, and don't draw if it's zero

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文