2008-12-01 22 views
7

Hace un par de años, tuvimos un diseñador gráfico para renovar nuestro sitio web. Sus resultados se veían geniales, pero desafortunadamente introdujo una nueva fuente no soportada por el navegador web.Localizar imágenes en ASP.NET

Al principio yo estaba como, "¿Qué??!" ... ya que la mayoría de nuestro contenido es dinámico y no había una forma real de pre-hacer todas las imágenes. También estaba la cuestión de los idiomas múltiples (ya que sabíamos que el español estaba en el horizonte).

De todos modos, decidí crear algunas clases para autogenerar imágenes a través de GDI + y programarlas en caché según sea necesario. Esto resolvió la mayoría de nuestros problemas iniciales. Sin embargo, ahora que nuestra carga se ha incrementado dramáticamente, ha habido una fuga en nuestro servidor de interfaz de usuario.

Ahora a la pregunta ... Estoy buscando reemplazar la mayoría de las imágenes dinámicas GDI + con una fuente de navegador web estándar. Estoy pensando en conservar algunas de las imágenes GDI + renderizadas y ponerlas en un archivo resx, pero tengo pensado reemplazar la mayoría de ellas con fuentes Tahoma o Arial mediante asp: Labels.

¿Cuál ha encontrado que es una mejor solución de imagen localizada?

  • imágenes de incrustación en el resx
  • añadiendo solamente el URL de la imagen en el resx
  • alguna otra solución

Mi preocupación principal es limitar el procesamiento en el servidor de interfaz de usuario. Si ese es el caso, ¿sería mejor agregar la URL de la imagen al resx en comparación con la incrustación de la imagen en el archivo resx?

Respuesta

3

Solo debe generar cada imagen una vez y luego guardarla en el disco duro. La carga en su sitio no debe aumentar la cantidad de procesamiento que tiene que hacer. Habiendo dicho eso, casi parece que estás usando imágenes para cosas que no deberías ser. Si hay tantas imágenes diferentes que no puede mantenerse al tanto de generarlas, es hora de abandonar sus imágenes de lujo por cosas que no deberían ser imágenes y volver al texto directo. Si el usuario no tiene instalada la fuente especificada, debería recurrir a una fuente similar. CSS tiene un buen soporte para esto.

0

Debido al almacenamiento en caché, prefiero agregar solo la url de la imagen en el resx. El almacenamiento en caché es mucho mejor para el contenido estático (archivos planos de i-e) que para el contenido generado.

3

ver mi respuesta here

Esto se puede hacer de forma manual o utilizando algún tipo de sistema automatizado (CMS).

El método básico es almacenar en caché las imágenes en una estructura de directorio específica del idioma y luego escribir un controlador HTTP que elimine efectivamente la capa de directorio adicional. por ejemplo:

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

En su marcado o CSS simplemente haría referencia a /images/header1.gif. El http hander usa la sesión (si el idioma es específico del usuario) o la configuración (si es específica del sitio) para elegir desde qué directorio servir la imagen.

Esto proporciona una línea limpia entre código y contenido, y permite el almacenamiento en caché del lado del cliente. Resx es ideal para cadenas pequeñas, pero prefiero un sistema como este para imágenes y contenido más grande. especialmente en la web, donde normalmente es fácil cambiar las imágenes.

+0

Lo único que se me ocurre aquí, sin embargo, es que si el usuario cambia de idiomas, que tendrían que borrar la caché para ver el contenido diferente. No necesariamente es un gran problema, pero hay que tener en cuenta. –

1

Tuve el mismo problema hace unos años y nuestro equipo de interfaz nos indicó SIFr. http://wiki.novemberborn.net/sifr/

Incrustas tu fuente en una película Flash y luego utilizas el SIFr JavaScript para convertir dinámicamente el texto en tu fuente. Debido a que es del lado del cliente, no hay impacto en el lado del servidor.

Si el usuario no tiene Flash ni JavaScript instalado, obtiene la fuente más cercana compatible con la Web.

Como una ventaja adicional: porque su contenido sigue siendo de texto: Google puede buscar e indexar el contenido, una gran optimización de SEO.

+0

Tengo que decir que he tenido * muy * resultados mixtos con SIFR en términos de calidad y rendimiento. Caveat Emptor. – annakata

0

Sería muy muy cuidadoso acerca de cómo poner texto en las imágenes, CSS con el respaldo de la familia de fuentes apropiada es probablemente la respuesta correcta en cuanto a accesibilidad y buenos motivos de MVC.

donde la generación realmente se requiere Creo Kiblee y JayArr buenas soluciones contorno

Cuestiones relacionadas