Зубчатый край Изображение при вращении с картой 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), оно будет создавать сглаженное изображение на вращающемся изображении.
Извините за очень поздний ответ, но я считаю, что вы можете решить эту проблему двумя способами:
Вызов
evas_object_anti_alias_set()
на объекте evas, который сопоставлен.Как вы упомянули в другом ответе, используйте ускорение GL, но вы можете даже включить MSAA в буферном буфере:
elm_config_accel_preference_set("opengl:msaa");