Здравствуйте, гость ( Вход | Регистрация )
lanz | Дата 12.3.2013, 8:22 |
Попробуйте заранее подготовить несколько картинок, например в массиве. Если торможение пропадет, значит дело в подготовке картинки, если останется, в чем то другом. |
|
zuze | Дата 11.3.2013, 15:00 |
Торможение скорей всего из-за подготовки следующей картинки.
Скажите пожалуйста, если линия когда доходит до 360 градусов, претормаживает, это может быть в следствии вот этого части кода?
Если да, то как правильно переделать код? |
|
lanz | Дата 11.3.2013, 14:40 |
Можно попробовать картинку готовить не в Format_ARGB32, а Format_ARGB32_Premultiplied. Торможение скорей всего из-за подготовки следующей картинки. Если их немного, можно заранее подготовить. |
|
zuze | Дата 11.3.2013, 10:11 |
В принципе задача решена. Скорее всего this->MyRadianToGradus(phi) становится больше 360. Изменил так и это заработало:
Единственное, что плохо, что линия которая рисуеться также по кругу почему-то после первого рисунка, когда рисуется первый и второй рисунок скорость вращения линии падает. В добавок, когда линия доходит до 360 градусов линия не надолго притормаживает. |
|
lanz | Дата 11.3.2013, 9:22 |
Скорее всего this->MyRadianToGradus(phi) становится больше 360. Вообще интересно скриншот посмотреть. |
|
zuze | Дата 11.3.2013, 9:01 |
Переставляем местами 360 и phi, чтобы рисовалось по часовой. Поправил, это заработало, теперь остаётся маленькая проблема в момент когда отрисовка доходит до 360 градусов происходит, на очень кароткое время отрисовка какой-то картинки, то ли её сдвиг. Этого не должно быть, так как когда прошла отрисовка 1 и 2 картинки, должа рисоваться 2 и 3 и не каких посторонних эффектов не должно быть. |
|
lanz | Дата 11.3.2013, 8:24 |
Зде сь второе значение - это величина угла который будет отрисовываться. Со стартовым углом все правильно, а spanAngle должен дополнять до 360.
Переставляем местами 360 и phi, чтобы рисовалось по часовой. |
|
zuze | Дата 11.3.2013, 7:57 |
А как теперь сделать, что бы с права от линии рисовалась первая картинка, а слева от линии вторая картинка? Я пробовал так:
Первая картинка рисуетсья с нуля, а другую вообще не видно, а должна от линии рисоваться с права. Потом рисуеться и следующие картинки, но они не совпадают с крутсящайся линией, затем опять почему-то одна картнинка с нуля рисуется. Как же нужно правильно сдклать? |
|
lanz | Дата 6.3.2013, 16:30 |
Это требование функции drawPie. Цитата The startAngle and spanAngle must be specified in 1/16th of a degree, i.e. a full circle equals 5760 (16 * 360). Цитата startAngle и spanAngle должны задаваться в 16тых частях градуса, т.е. полный круг - 5760 (360*16). |
|
zuze | Дата 6.3.2013, 15:40 |
Теперь нужно кисть передвинуть обратно, чтобы она попала центром в центр координат, как то так: Большое спасибо, заработало, толко в место
Надо было написать:
А Вы могли бы обяснить за чем мы -this->MyRadianToGradus(phi) умножаем на 16? Как я понял надо умножать на 16, что бы скорость картинки рисовалась одинаково со скоростью рисования линии. |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 27.4.2024, 17:24 |