2012-02-03 2 views
0


Я пытаюсь анимировать несколько фигур (линий), рисуя их на холсте с поверхностными держателями. Сначала я рисовал их как дорожки, и все было хорошо, движение было гладким. Поскольку я увеличил количество объектов (фигур), производительность снизилась, и я сделал несколько тестов , чтобы увидеть, быстрее ли рисовать растровые рисунки рисунков. И .. рисунок битмапы, кажется, значительно быстрее (возможно, меньше вычислений). НО движение негладкое. Похоже, что растровые изображения всегда перемещаются из пикселя в пиксель вместо использования анти-псевдонимов, я не знаю, рисую состояния как пиксели. подпись метода выглядит следующим образом:
андроид - анимация рисованием растровое изображение не является гладким

canvas.drawBitmap(cloudBitmap, float left, float top, Paint p);


, который наводит на мысль, что я должен быть в состоянии нарисовать битмап на 0.5f пикселей.

Любая идея, почему?

ответ

1

Я думаю, что это может быть связано с тем, что растровое изображение рисуется без фильтрации его для плавности. Вы настроили краску, чтобы сгладить растровое изображение? Если нет, это может быть вашим решением.

Paint paint = new Paint(); 
paint.setFilterBitmap(true); 
+0

Я пробовал, и он не работает. Документация Google dev не очень ясна, но я думаю, что флаг фильтра используется при масштабировании растрового изображения. –

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