2013-01-14 130 views
3

我有如下它加載在引用MonoTouch的庫從嵌入的資源的圖像需要的類別:MonoTouch的UIImage.FromResource負載視網膜圖像

UIImage.FromResource (null, "Resources.Items"); 

如果是UIImage.FromFile ("abc.png");和我包括一個名爲[email protected]視網膜文件圖像將顯示在兼容設備上。

如何實現相同的,即加載視網膜圖像,利用UIImage.FromResource (null, "Resources.Items");

我不能使用UIImage.FromFile ("abc.png");作爲資源在一個被引用的DLL。

回答

2

很容易detect a retina display。從那裏你可以從你的程序集加載正確的資源。例如。

UIImage.FromResource (null, (UIScreen.MainScreen.Scale > 1.0) 
    ? "Resources.Items.Retina" : "Resources.Items"); 

使用這個,只要你喜歡,包括使用標準@2x符號,如果你喜歡它,你可以說出你的視網膜資源。

+0

我還沒有嘗試過,但爲了將視網膜圖像顯示爲視網膜圖像,「Resources.Items.Retina」是否需要縮放0.5?我只是在邏輯上問,我期望@ 2x'UIImage'顯示爲正常圖像的兩倍(例如64 x 64,而不是32 x 32)。 – Darbio

+0

這取決於它的使用情況。如果您使用自己的代碼顯示它,請參閱:http://stackoverflow.com/a/11808894/220643如果有疑問,請使用模擬器(視網膜,1倍變焦)和任何(多種)工具,以便您放大屏幕。如果圖像被縮放(或不縮放),這將是顯而易見的。 – poupou