Comment obtenir d'Apple @2x convention de nommage des images de la rétine de travailler pour une application avec des rails backend?
Je suis en train de travailler sur les rails backend d'une application native.
Dans une application native, de la rétine (haute résolution), les images sont automatiquement chargés à l'aide de la @2x
convention de nommage.
Par exemple, vous pouvez avoir deux images appelées image.png
et [email protected]
(la plus haute résolution version de la même image). Si l'application est en cours d'exécution sur un iPhone 3gs, image.png
est automatiquement chargé. Si l'application est utilisée sur un iPhone 4, [email protected]
sera automatiquement chargé.
Ce @2x
convention ne fonctionne pas pour les non-natif des applications web en fonction de ce que j'ai lu et vu dans l'action.
Il semble que Apple @2x
convention ne fonctionne pas pour les images fournies par un Rails de backend. Je sais que les requêtes de média peut vous aider avec ceci, mais je me demandais si il y avait une sorte de travail pour avoir un iPhone 4 automatiquement la charge @2x
des images à partir d'une application web au lieu de la non-highres homologue.
Le "@2x " naming convention sera immédiatement familier à tout développeur iOS. C'est simplement une façon de nommer une autre version de la résolution d'une image, de sorte qu'il sera reconnu et utilisé par des dispositifs haute résolution.
OriginalL'auteur user1212187 | 2012-02-15
Vous devez vous connecter pour publier un commentaire.
Je suggère ce qui suit:
Dans votre application rails, de créer différentes versions des images lors du téléchargement.
Puis dans l'application iOS, vous pourriez avoir un coup d'oeil à la
scale
propriété deUIScreen
et de déterminer l'image à charger:Vous dites dans votre question, que c'est une application native, mais encore dans votre commentaire que vous mentionnez à l'aide de points de vue. Bien qui est-il? Jakob solution est fondée sur l'utilisation d'une application native, communiquant avec le serveur Rails via une API. Cela ne fonctionne évidemment pas si votre application iPhone est simplement en ouvrant une UIWebView et le chargement d'une vue à partir de Rails, et une session côté serveur var peut être votre seul pari dans ce cas.
OriginalL'auteur Jakob W
La HiSRC gem fonctionne très bien:
https://github.com/haihappen/hisrc-rails
Il utilise la même convention de nommage comme Apple (@2x pour les images de la rétine) et sert automatiquement la bonne.
Je l'utilise en conjonction avec CarrierWave, la création de deux versions miniatures sur l'upload:
Et de votre point de vue:
Un autre joyau j'ai essayé était Les Yeux Clairs, mais je ne pouvais pas le faire fonctionner...
OriginalL'auteur Brian
J'ai écrit un gem rails cette devrait résoudre le problème
OriginalL'auteur user310200
J'ai emballé une des solutions comme un joyau https://github.com/jhnvz/retina_rails
Al que vous avez à faire est:
gem 'retina_rails'
à votre Gemfile.bundle install
.//= require retina
à l'option Javascript de votre fichier manifeste (qui se trouve généralement à app/assets/javascripts/application.js).Carrierwave
Ajouter
include RetinaRails::CarrierWave
vers le bas de votre uploaderTrombone
Ajouter
include RetinaRails::Paperclip
vers le bas de votre uploaderLa gemme génère automatiquement rétine versions (ajoute @2x pour le nom de fichier) en fonction de votre défini versions dans un uploader. La js vérifie si l'utilisateur a un écran retina et si oui ajoute @2x pour le nom de fichier d'image.
Également posté la réponse à cette question: Comment pouvez-vous générer retina (iPad) amical (progressif ou entrelacé) des images jpeg avec CarrierWave?
OriginalL'auteur Johan van Zonneveld
Que pensez-vous de cette approche:
Le téléchargement d'un fichier raw avec une haute résolution et puis tout simplement de générer le 3 tailles différentes. Ici pour une Icône de modèle que je veux mettre en œuvre:
Je ne suis pas sûr de ce que l'option convertir sont corrects mais le nom et le dimensionnement problème est résolu.
OriginalL'auteur Simon Franzen