Алгоритм построения

Какой хороший алгоритм я могу использовать, чтобы обрисовать изображение? в настоящее время я просматриваю пиксель за пикселем, если он прозрачный и вокруг него есть непрозрачный пиксель, он устанавливается черным.
Это хорошо работает для изображений с псевдонимом, но не для изображений со сглаживанием. для сглаженных изображений это просто выглядит так, как будто изображение окружено прозрачной линией 0,5 пикселя, а затем черной рамкой вокруг нее. а сама черная рамка не сглажена.
Какой алгоритм я могу использовать для обводки сглаженного изображения с помощью сглаженной линии шириной 1 пиксель?


person Dani    schedule 12.08.2011    source источник


Ответы (1)


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

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

person e.James    schedule 12.08.2011
comment
это создаст какую-то черную линию толщиной 0,5 пикселя. он также не будет работать для вертикальных и горизонтальных линий, которые не имеют прозрачности. - person Dani; 12.08.2011
comment
Это правда. Вам, вероятно, придется изучить некоторые более сложные алгоритмы обработки изображений, чтобы получить то, что вы хотите. Мне известно об обнаружении границ, но оно находит все границы, а не только внешние. - person e.James; 12.08.2011