Как удалить альфа-канал из воздушного фильтра в Inkscape?

Я пытаюсь смоделировать облако точек данных вокруг графика и обнаружил, что воздушный фильтр, примененный к копии этого графика, даст мне почти то, что я хочу, особенно при изменении оператора эффекта морфологии с dilate на erode .

результат

Это выглядит не так уж плохо, хотя теперь точки данных подражателя могут быть слишком слабыми в зависимости от выходного разрешения. В любом случае, особенно при увеличении, можно увидеть еще одну проблему:

увеличение

Некоторые пиксели имеют очень низкое значение альфа-канала, что не имеет смысла в моем сценарии. Я бы хотел, чтобы все пиксели имели альфа-значение 1.

Я пытался поиграть с двумя эффектами смешивания, которые содержит воздушный фильтр, но безрезультатно. Затем я попытался установить альфа-канал равным 1, используя эффект цветовой матрицы со следующей настройкой.

1 0 0 0 0
0 1 0 0 0
0 0 1 0 0 
0 0 0 0 1

Но, конечно, это также устанавливает все, что имеет альфа-значение от 0 до 1, с довольно разрушительным эффектом.

фон становится черным

Есть ли способ сделать непрозрачными только оранжевые пиксели, но не фон?

Я знаю, что при экспорте этого в PDF маловероятно, что эффект распыления воздуха сохранится без рендеринга в виде растрового изображения, поэтому я, вероятно, мог бы пройти этот цикл один раз, а затем что-то сделать с растровым изображением. Но если есть более элегантный способ сделать это, это было бы здорово.

Вам не кажется, что вы могли бы добиться лучшего эффекта, просто используя инструмент аэрозольный баллончик (Shift-F3)?
@Moss Но как мне заставить это следовать точному пути?
Прослеживая путь, когда вы используете инструмент аэрозольного баллончика. Это не должно быть абсолютно точным, не так ли? Я имею в виду, это нечеткое облако точек. Вам нужно иметь возможность манипулировать путем и следовать за точками? Или это должен быть автоматический процесс?
@Moss Да, это должно быть довольно точно ... а кроме того, я все большие пальцы с мышью.

Ответы (1)

Может быть, я только что нашел ответ на свой вопрос. Это некрасиво, поэтому на самом деле хорошие решения все еще приветствуются. Вы можете умножить альфа-канал на какое-то безумно высокое значение, опять же используя эффект цветовой матрицы:

1    0    0    0    0
0    1    0    0    0
0    0    1    0    0 
0    0    0 1000    0

Нулевая альфа, конечно, останется такой, а все остальное будет обрезано до 1.

обрезка без видимых прозрачных пикселей

Почему нет некоторых пикселей, альфа-канал которых был так близок к нулю, что теперь они представляют собой уродливые прозрачные пиксели, я не знаю. Ну, может быть, и есть, но пока это не видно, думаю, мне все равно.

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