2012-05-25 2 views
8

Я, кажется, наткнулся на ошибку в реализации холста Chrome. Если вы создаете элемент холста с большой шириной (например, 17000), любые пути, нарисованные на этом холсте после определенного расстояния вниз по холсту, получаются как только пиксель или два в ширину. Кроме того, ширина не может быть целым пикселем или вообще не нарисоваться.Ошибка Canvas в Chrome

Вот пример, иллюстрирующий проблему. Два прямоугольника должны иметь одинаковую ширину, но это не так.

http://jsbin.com/ehuvew/2/edit

Кто-нибудь столкнулся с этим? Кто-нибудь знает об обходном пути?

+0

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

+8

Проверьте, нет ли обрезания этой «ошибки» на отметке 16,384, что указывает на то, что какая-то бит-математика ошибается где-то внутри хром. 17 000 - слишком произвольная ценность для таких вещей. –

+0

@MarcB Вы, кажется, что-то наделали. Если я меняю ширину на 16 384, она отображается правильно, но 16,385 показывает неправильное поведение. – Chmille4

ответ

0

Я проверил и подтвердил поведение описанного выше на хромированной Versão 19.0.1084.52 (Ubuntu)

также проверил пределы, где это происходит и его 8192 пикселей в ширину

кажется, связанных с ошибкой хрома сообщалось здесь : http://code.google.com/p/chromium/issues/detail?id=121405

Смежные вопросы