2008-12-01 7 views
7

Il y a quelques années, un graphiste a réorganisé notre site Web. Ses résultats semblaient excellents, mais il a malheureusement introduit une nouvelle police non prise en charge par le navigateur Web. Au début, je me disais: «Quoi!?!» ... car la plupart de notre contenu est dynamique et il n'y avait pas vraiment de moyen de pré-créer toutes les images. Il y avait aussi le problème des langues multiples (puisque nous savions que l'espagnol était à l'horizon).Localisation d'images dans ASP.NET

Quoi qu'il en soit, j'ai décidé de créer des classes pour générer automatiquement des images via GDI + et les mettre en cache par programme si nécessaire. Cela a résolu la plupart de nos problèmes initiaux. Cependant, maintenant que notre charge a considérablement augmenté, il y a eu une perte sur notre serveur d'interface utilisateur.

Maintenant à la question ... Je cherche à remplacer la plupart des images GDI + dynamiques avec une police de navigateur Web standard. Je pense conserver certaines des images GDI + et les placer dans un fichier resx, mais je prévois de remplacer la plupart d'entre elles par des polices Tahoma ou Arial via asp: Labels.

Quelle solution avez-vous trouvée comme meilleure solution d'imagerie localisée?

  • images dans le Enrobage resx
  • Seulement ajouter l'URL de l'image dans le resx
  • Une autre solution

Ma principale préoccupation est de limiter le traitement sur le serveur de l'interface utilisateur. Si tel est le cas, l'ajout de l'URL de l'image au resx serait-il une meilleure solution par rapport à l'intégration de l'image dans le resx?

Répondre

3

Vous ne devez générer qu'une seule fois une image, puis l'enregistrer sur le disque dur. La charge sur votre site ne devrait pas augmenter la quantité de traitement que vous avez à faire. Cela dit, on dirait presque que vous utilisez des images pour des choses que vous ne devriez pas être. S'il y a tellement d'images différentes que vous ne pouvez pas suivre pour les générer, il est temps d'abandonner vos images de fantaisie pour des choses qui ne devraient pas être des images, et de revenir au texte direct. Si la police spécifiée n'est pas installée sur l'utilisateur, il convient de revenir à une police similaire. CSS a un bon support pour cela.

0

En raison de la mise en cache, je préfère ajouter uniquement l'URL de l'image dans le resx. La mise en cache est bien meilleure pour le contenu statique (fichiers simples i-e) que pour le contenu généré.

3

voir ma réponse here

Cela peut se faire manuellement ou en utilisant une sorte de système automatisé (CMS).

La méthode de base consiste à mettre en cache vos images dans une structure de répertoire spécifique à une langue, puis à écrire un gestionnaire HTTP qui supprime efficacement la couche de répertoire supplémentaire. par exemple:

/images/ 
    /en/ 
     header1.gif 
    /es/ 
     header1.gif 

Dans votre balisage ou CSS vous simplement /images/header1.gif référence. Le gestionnaire http utilise ensuite la session (si la langue est spécifique à l'utilisateur) ou la configuration (si spécifique au site) pour choisir le répertoire à partir duquel servir l'image.

Cela fournit une ligne propre bewteen code et le contenu, et permet la mise en cache côté client. Resx est idéal pour les petites chaînes mais je préfère de loin un système comme celui-ci pour les images et les contenus plus volumineux. Surtout sur le web où il est généralement facile de changer d'image.

+0

La seule chose que je peux penser ici est bien que si l'utilisateur change langues, ils doivent effacer leur cache pour voir le contenu différent. Pas nécessairement une grosse affaire, mais quelque chose à savoir. –

1

J'ai eu le même problème il y a quelques années et notre équipe d'interface nous a orientés vers SIFr. http://wiki.novemberborn.net/sifr/

Vous intégrez votre police dans un film Flash, puis utilisez le JavaScript SIFr pour convertir dynamiquement votre texte dans votre police. Parce qu'il est côté client, il n'y a pas d'impact côté serveur.

Si l'utilisateur n'a pas installé Flash ou JavaScript, il obtient la police Web la plus proche.Comme un bonus supplémentaire: parce que votre contenu est encore Texte - Google peut rechercher et indexer le contenu - une optimisation SEO énorme.

+0

Je dois dire que j'ai eu des résultats très mitigés avec SIFR en termes de qualité et de performance. Caveat emptor. – annakata

0

Je serais très prudent de mettre du texte dans les images du tout, CSS avec fallback famille de polices appropriées est probablement la bonne réponse sur l'accessibilité et de bonnes raisons MVC.

où la production est vraiment nécessaire, je pense que Kiblee et JayArr décrivent de bonnes solutions

Questions connexes