web-dev-qa-db-fra.com

Chargement des éléments d'image basés sur SVG pour l'application iOS

J'ai acheté une icône de thenounproject en tant qu'image SVG. J'utilise ensuite un programme macOS appelé Gapplin pour exporter ce SVG dans une image PNG. Il se présente sous la forme d'une image 100x100 pixels.

J'ouvre ensuite cette image PNG avec le programme Aperçu et allez Outils -> Ajuster la taille et créer des images 10x10, 20x20 et 30x30. Je charge ensuite ces images en 1x, 2x, 3x dans Xcode.

Est-ce la bonne méthode?

13
JK140

Non, ce n'est pas la solution optimale.

Votre solution actuelle fonctionne, bien sûr, mais elle est loin d'être idéale. Ce faisant, vous perdez (précieuse!) La qualité d'image ( voir ici pour plus de détails). Vous pouvez améliorer votre flux de travail en:

  • exportation des 3 résolutions à partir du fichier SVG d'origine, vous assurant d'obtenir le meilleur bitmap PNG possible à partir d'une source d'image vectorielle (en utilisant Gapplin ou une autre application d'image );

  • ou conversion de votre SVG en PDF puis importation du PDF = fichier image vectorielle dans Xcode (la dernière fois que j'ai vérifié, Xcode 8 n'avait toujours pas de support direct pour les fichiers SVG, nous sommes donc coincés avec de bons vieux PDF pour l'instant).

Les deux méthodes, en termes de qualité d'image, devraient produire des résultats très similaires et constituent une amélioration par rapport à votre flux de travail actuel.

En ce qui concerne la taille du fichier d'application, vous ne devriez plus voir de différence avec aucune des deux méthodes. Même en utilisant la dernière méthode, Xcode génère toujours les actifs requis au moment de la construction et, en tant que tel, votre application transportera la même image/jeu d'icônes comme première méthode.

18
Paulo Mattos