Вопрос blendmode, для обработки


Я написал простой скрипт, который генерирует три строки в случайных позициях на сетке. Каждая линия имеет определенный цвет-это для логотипа. Я хочу использовать режим многократного смешивания, но он создает неровные изображения. Есть идеи, как решить эту проблему?

// 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 2

2 ответа:

Это известная ошибка в обработке 2. здесь - ошибка, а здесь - исправление. Это исправление было впервые включено в обработку 3. 0a1 (source).

Я попробовал это на обработке 2.2.1, и я получил те же артефакты, что и вы. Я попробовал это на обработке 3. 0a5, и это сработало отлично.

Решение состоит в том, чтобы переключиться на обработку 3. Если вы действительно, действительно, действительно должны придерживаться обработки 2, то вам придется построить из исходного кода и включить это конкретное исправление. Но вам, вероятно, не следует использовать обработку 2 в любом случае.

Более простое исправление заключается в указании рендерера P2D:

size (900, 900, P2D);