2012-11-23 3 views
4

Contexte:pixel des images parfaites en utilisant MonoTouch

je dois obtenir une compréhension de base sur la façon de présenter des images parfaites de pixels sur les appareils iOS utilisant MonoTouch. Ma compréhension de l'écosystème iOS est limitée pour le moment, étant un développeur pour la plate-forme Windows depuis 18 ans. D'après ce que je comprends, il existe un système de coordonnées commun qui rend les vues identiques, qu'il s'agisse d'un affichage rétine ou d'un ancien affichage "iPhone 3g".

La question est:

Quelle est la meilleure façon de générer et d'afficher des images sans flou ou de distorsion en utilisant MonoTouch?

// AnkMannen

Répondre

7

La première chose que vous devez apprendre est le système iOS pour l'affichage de la rétine.

Toutes les commandes sont disposées en coordonnées comme s'il s'agissait d'un 3GS/iPad 2 ou plus ancien. Les appareils dotés d'un écran rétina tel que l'iPhone 4, 5 et l'iPad 3 utilisent tous ces mêmes coordonnées, mais avec une taille d'écran double.

Pour vos images, utilisez les fichiers PNG. Vous aurez 2 jeux, un pour l'affichage plus petit, et un pour l'affichage de la rétine. Apple utilise la convention de dénomination des fichiers:

  • yourImage.png - image plus petite pour 3GS
  • [email protected] - image pour la rétine affiche

Supposons que l'image est de 150 pixels par 50 pixels à la plus petite taille . Pour afficher correctement à partir de C#:

//This code is in the ViewDidLoad method of a UIViewController 
var imageView = new UIImageView(new RectangleF(0, 0, 150, 50)); 
imageView.Image = UIImage.FromFile ("yourImage.png"); 
View.AddSubView(imageView); 

iOS charge l'image de taille appropriée (par la convention de nommage) et le placer dans le coin supérieur gauche de l'écran. Garder la bonne taille pour le imageView permettra également d'éviter toute distorsion. Sur les écrans Retina, iOS chargera la plus grande image 300x100 et semblera identique (sauf beaucoup plus nette) aux écrans plus petits côte à côte.

Questions connexes