2013-01-14 1 views
3

나는 다음과 같이 참조 MonoTouch 라이브러리에 포함 된 리소스에서 이미지를로드하는 클래스가 있습니다MonoTouch UIImage.FromResource 부하 망막 이미지

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

UIImage.FromFile ("abc.png");이었고, 내가 [email protected] 망막라는 이름의 파일이 포함 된 경우를 이미지는 호환되는 장치에 표시됩니다.

나는 자원이 참조 된 DLL에서와 같이 내가 UIImage.FromFile ("abc.png");을 사용할 수 없습니다 UIImage.FromResource (null, "Resources.Items");

를 사용하여 망막 이미지를로드, 즉 동일한을 달성하려면 어떻게합니까.

답변

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 '가 크기의 두 배 (예 : 32 x 32 대신 64 x 64)의 일반 이미지로 표시 될 것을 기대합니다. – Darbio

+0

그것은 그것이 사용되는 맥락에 달려 있습니다. 자신의 코드를 사용하여 코드를 표시하는 경우 다음을 참조하십시오. http://stackoverflow.com/a/11808894/220643 시뮬레이터 (망막, 1 배 확대) 및 (여러 개의) 도구 중 하나를 사용하면 화면을 확대/축소합니다. 이미지의 크기가 조절되는지 여부는 분명합니다. – poupou