手動排列窗口控件之像素對齊問題

CEGUI使用了UDim做長度度量。UDim包含縮放比例和像素偏移兩部分。因爲使用了相對於父窗口的比例,所以轉換爲像素時就不一定是整數了。比如,父窗口寬800pixels,則相對於父窗口寬的0.001就是0.8pixel。但是,像素也不能是0.8個啊。所以,最終繪製的時候,CEGUI進行了四捨五入。

 

因此,當要手動去排列一些控件時。一定要使用絕對像素,而不能用按比例縮放。因爲要自己進行四捨五入,否則控件之間要麼間隔一個像素,要麼掩蓋一個像素。

 

注:

四捨五入,這個很簡單。

比如,int width_pixels = width_scale*wnd->getPixelSize().d_width + 0.5f,即可。

發佈了64 篇原創文章 · 獲贊 0 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章