Ширина линии в холсте

Что ж, если я рисую линию с нечетным значением lineWidth в HTML5 Canvas, я получаю размытую линию и знаю причину этой проблемы.

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

Мое решение: если вам нужно нарисовать линию с нечетной шириной, вам придется сместить центр вашей линии на 0,5 вверх или вниз. Таким образом, рендеринг будет происходить на границе пикселя, а не посередине, и у вас всегда будет четкая линия без остатков по краям.

Дайте мне знать, если какие-либо другие решения, кроме указанных выше

1 ответ

Решение

К счастью (и к сожалению) вы правильно реализовали "привязку к пикселям", когда вы добавляете / вычитаете 0,5 пикселя, чтобы линии выравнивались по границам пикселей. В отличие от Photoshop, нет возможности автоматически привязывать пиксели к холсту....Я чувствую твою боль!

Другие вопросы по тегам