处理混合模式问题
Processing blendMode issue
我编写了一个简单的脚本,可以在网格上的随机位置生成三行。每条线都是特定的颜色 - 用于徽标。我想使用乘法混合模式,但它会产生锯齿状图像。关于如何解决此问题的任何想法?
// open_lab_logo
size (900, 900); smooth();
background (255);
blendMode(MULTIPLY);
strokeWeight(100);
float x1 = random(1, 8) * 100;
float y1 = random(1, 8) * 100;
float x2 = random(1, 8) * 100;
float y2 = random(1, 8) * 100;
float x3 = random(1, 8) * 100;
float y3 = random(1, 8) * 100;
float x4 = random(1, 8) * 100;
float y4 = random(1, 8) * 100;
stroke(#FFDB23); line(x1, y1, x2, y2);
stroke(#E41F7B); line(x2, y2, x3, y3);
stroke(#00A8E4); line(x3, y3, x4, y4);
这是处理 2 中的一个已知错误。Here is the bug, and here is the fix. This fix was first included in Processing 3.0a1 (source)。
我在 Processing 2.2.1 上试过这个,我得到了和你一样的工件。我在 Processing 3.0a5 上试过了,效果很好。
解决方案是切换到 Processing 3。如果您真的、真的、真的需要坚持使用 Processing 2,那么您将必须从源代码构建并包含此特定修复程序。但是您可能无论如何都不应该使用 Processing 2。
更简单的解决方法是指定 P2D 渲染器:
size (900, 900, P2D);
我编写了一个简单的脚本,可以在网格上的随机位置生成三行。每条线都是特定的颜色 - 用于徽标。我想使用乘法混合模式,但它会产生锯齿状图像。关于如何解决此问题的任何想法?
// open_lab_logo
size (900, 900); smooth();
background (255);
blendMode(MULTIPLY);
strokeWeight(100);
float x1 = random(1, 8) * 100;
float y1 = random(1, 8) * 100;
float x2 = random(1, 8) * 100;
float y2 = random(1, 8) * 100;
float x3 = random(1, 8) * 100;
float y3 = random(1, 8) * 100;
float x4 = random(1, 8) * 100;
float y4 = random(1, 8) * 100;
stroke(#FFDB23); line(x1, y1, x2, y2);
stroke(#E41F7B); line(x2, y2, x3, y3);
stroke(#00A8E4); line(x3, y3, x4, y4);
这是处理 2 中的一个已知错误。Here is the bug, and here is the fix. This fix was first included in Processing 3.0a1 (source)。
我在 Processing 2.2.1 上试过这个,我得到了和你一样的工件。我在 Processing 3.0a5 上试过了,效果很好。
解决方案是切换到 Processing 3。如果您真的、真的、真的需要坚持使用 Processing 2,那么您将必须从源代码构建并包含此特定修复程序。但是您可能无论如何都不应该使用 Processing 2。
更简单的解决方法是指定 P2D 渲染器:
size (900, 900, P2D);