Ширина Android android.graphics.Path ограничена 2036?

Я пытаюсь нарисовать очень длинную линию с помощью пути. Строка правильно отображается до целевого значения x, равного 2036.

когда я вызываю path.lineTo(2037, y), весь путь не рисуется. Вызов canvas.drawPath(path, paint) ничего не делает.

Есть ли проблема, о которой я не знаю?

Во-вторых, когда я рисую ту же последовательность точек с помощью canvas.drawLines(float[], paint), линии рисуются правильно, но они не сглажены. Есть ли проблема со сглаживанием и отрисовкой линий?


person Moritz    schedule 15.01.2012    source источник


Ответы (2)


Существует ограничение аппаратного ускорения: на большинстве графических процессоров путь может иметь ширину или высоту только около 2048 пикселей.

Линейное сглаживание должно работать начиная с Android 3.2 с аппаратным ускорением.

person Romain Guy    schedule 15.01.2012
comment
Спасибо за разъяснение roman. На самом деле я работаю с 3.1, поэтому сглаживание не работает. На 4.0 работает корректно. - person Moritz; 22.01.2012

Имхо, эти ограничения были бы описаны в этих сотнях строк, описывающих отличие одной версии Android от другой.

person Gangnus    schedule 15.01.2012