2014-01-04 2 views
0

У меня есть приложение для рисования холста, которое динамически меняет lineWidth на основе скорости перемещения. Но это изменяется для всей части линии, и переходы выглядят странно. Есть ли простой способ, как сделать переход гладким? Мой код для динамического LineWidth:Smoothify canvas draw

ctx.lineWidth = Math.ceil(Math.sqrt((previousX - previousY) * (previousX - currentX) + (previousY - currentY) * (previousY - currentY))/10); 
+0

Вы можете получить некоторые идеи от http://perfectionkills.com/exploring-canvas-drawing-techniques – kangax

ответ

1

Одна мысль:

  • Разделите одну линию на более мелкие сегменты с приращением изменяющихся ширин.
  • Используйте context.lineJoin = "round", чтобы сгладить переход между этими меньшими сегментами.