Я, кажется, наткнулся на ошибку в реализации холста Chrome. Если вы создаете элемент холста с большой шириной (например, 17000), любые пути, нарисованные на этом холсте после определенного расстояния вниз по холсту, получаются как только пиксель или два в ширину. Кроме того, ширина не может быть целым пикселем или вообще не нарисоваться.Ошибка Canvas в Chrome
Вот пример, иллюстрирующий проблему. Два прямоугольника должны иметь одинаковую ширину, но это не так.
http://jsbin.com/ehuvew/2/edit
Кто-нибудь столкнулся с этим? Кто-нибудь знает об обходном пути?
Вы, кажется, правы. Возможно, ошибка округления. Очевидное обходное решение: создать более одного холста. –
Проверьте, нет ли обрезания этой «ошибки» на отметке 16,384, что указывает на то, что какая-то бит-математика ошибается где-то внутри хром. 17 000 - слишком произвольная ценность для таких вещей. –
@MarcB Вы, кажется, что-то наделали. Если я меняю ширину на 16 384, она отображается правильно, но 16,385 показывает неправильное поведение. – Chmille4