2016-10-13 71 views
0

我正在爲EFL Native應用程序製作Samsung Gear S2的手錶應用程序。鋸齒形邊緣與Evas旋轉圖像

當我旋轉手錶時發生問題。
看看下面的圖片。

enter image description here
這是正常的圖像我把它粘貼到evas_object,它還沒有旋轉。

旋轉後,手的邊緣變成鋸齒狀。 enter image description here

齒輪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文檔寫入此設置會使圖像變爲「平滑」 ,默認設置爲「true」。但我擔心tizen將其改爲「假」。

但是參差不齊的形狀仍然顯示儘管我設置了true或false。

由「齒輪手錶設計師」創建的錶盤在旋轉雙手時沒有參差不齊。
如何旋轉圖像而沒有鋸齒邊緣?

+0

是您提供的圖像縮放超過100%?如果它放大縮小的百分比是多少?你提供的圖像的分辨率是多少? –

+0

不,我沒有放大圖像。圖像的高度爲360px。所以它幾乎適合齒輪S2(360X360) –

回答

0

好的,終於我發現爲什麼參差不齊的邊緣出現在旋轉中。

在模擬器或我的裝備s2中,默認的EFL渲染引擎不是opengl後端。

所以我可以用下面的代碼修復它。

elm_config_accel_preference_set("opengl"); 

在創建窗口(elm_win_add)之前寫下此代碼,它將在旋轉圖像上製作消除鋸齒的圖像。

0

對不起,我回答得很晚,但我相信你可以通過兩種方式解決這個問題:所映射的艙外活動對象上

  1. 呼叫evas_object_anti_alias_set()

  2. 正如你在另一個答案已經mentionned,使用GL加速,但你甚至可能要在後備緩衝啓用MSAA:elm_config_accel_preference_set("opengl:msaa");

相關問題