Зубчатый край Изображение при вращении с картой Evas

Я делаю приложение для часов Samsung Gear S2 с приложением EFL Native.

Проблема произошла, когда я вращаю стрелки часов.
Посмотрите на следующее изображение.


Это нормальное изображение, я вставляю его в evas_object, и оно еще не повернуто.

После того, как я повернул его, край рук изменился на неровную форму, как это.

Разрешение шестерни s2 составляет 360px X 360px, поэтому я делаю каждое изображение подходящим для этого размера.

И я поворачиваю изображение со следующим кодом.

Evas_Map *m = NULL;

m = evas_map_new(4);

//evas_map_smooth_set(m, true);
evas_map_util_points_populate_from_object(m, obj);
evas_map_util_rotate(m, degree, cx, cy);
evas_object_map_set(obj, m);
evas_object_map_enable_set(obj, EINA_TRUE);
evas_map_free(m);

Я пытался исправить это с помощью функции evas_map_smooth_set().
Документ EFL записывается с этой настройкой, делает изображение "SMOOTH", а по умолчанию установлено "true". но я беспокоюсь, что тизен поменял его на "ложный".

Но зубчатая форма все еще показывает Несмотря на то, что я установил значение true или false.

Watchface, созданный дизайнером Gear Watch Designer, не имеет зазубрин при вращении стрелок.
Как я могу повернуть изображение без зазубренного края?

2 ответа

Решение

Хорошо, наконец, я обнаружил, почему при вращении появляются неровные края.

В эмуляторе или в моем снаряжении s2 движок рендеринга EFL по умолчанию не opengl бэкенд.

Так что я могу исправить это с помощью следующих кодов.

elm_config_accel_preference_set("opengl");

Напишите этот код перед созданием окна (elm_win_add), оно будет создавать сглаженное изображение на вращающемся изображении.

Извините за очень поздний ответ, но я считаю, что вы можете решить эту проблему двумя способами:

  1. Вызов evas_object_anti_alias_set() на объекте evas, который сопоставлен.

  2. Как вы упомянули в другом ответе, используйте ускорение GL, но вы можете даже включить MSAA в буферном буфере: elm_config_accel_preference_set("opengl:msaa");

Другие вопросы по тегам