Pergunta

Um par de anos atrás, tínhamos um designer gráfico renovar nosso site. Seus resultados parecia grande, mas, infelizmente, introduziu um novo tipo de letra não suportado pelo navegador da web.

No começo eu era como, "O que!?!" ... já que a maioria do nosso conteúdo é dinâmico e não havia nenhuma maneira real de pré-fazer todas as imagens. Havia também a questão de vários idiomas (pois sabíamos espanhola estava no horizonte).

De qualquer forma, eu decidi criar algumas classes para gerar automaticamente imagens via GDI + e programaticamente cache-los conforme necessário. Isso resolveu a maioria dos nossos problemas iniciais. No entanto, agora que a nossa carga aumentou dramaticamente, tem havido um dreno no nosso servidor UI.

Agora, para a pergunta ... Eu estou olhando para substituir a maior parte da dinâmica GDI + imagens com uma fonte padrão do navegador web. Estou pensando em manter algumas das imagens GDI + prestações e colocá-los em um arquivo resx, mas o plano para substituir a maioria deles com Tahoma ou Arial via asp: Etiquetas.

O que você encontrou para ser uma solução melhor imagem localizada?

  • imagens embutir no resx
  • Apenas adicionando o URL da imagem no resx
  • Alguns outra solução

A minha principal preocupação é a de limitar o processamento no servidor de UI. Se for esse o caso, seria adicionar o URL da imagem ao resx ser uma solução melhor comparação para realmente incorporar a imagem no resx?

Foi útil?

Solução

Você só deve precisar gerar cada imagem uma vez, e depois salvá-lo no disco rígido. A carga no seu site não deve aumentar a quantidade de processamento que tem de fazer. Dito isto, que quase parece que você está usando imagens de coisas que não deveriam estar. Se há tantas imagens diferentes que você não pode manter-se com a geração deles, é hora de abandonar suas imagens extravagantes para as coisas que não deveriam estar imagens e voltar ao texto em linha reta. Se o usuário não tiver a fonte especificada instalado, ele deve apenas cair de volta para uma fonte olhando similar. CSS tem um bom suporte para isso.

Outras dicas

ver a minha resposta aqui

Isto pode ser feito manualmente ou usando algum tipo de sistema automatizado (CMS).

O método básico é armazenar em cache suas imagens em uma estrutura de diretório do idioma específico e, em seguida, escrever um HTTP handler que efetivamente remove a camada diretório adicional. por exemplo:

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

Na sua marcação ou CSS você teria apenas referência /images/header1.gif. O http hander então usa sessão (se a linguagem é específico do usuário), ou de configuração (se o site específico) para escolher qual diretório para servir a imagem.

Isso fornece uma linha limpa bewteen código e conteúdo, e permite o armazenamento em cache do lado do cliente. Resx é ótimo para pequenas cordas, mas eu prefiro muito mais um sistema como este para imagens e conteúdo maior. especialmente na web, onde é normalmente fácil de imagens de comutação ao redor.

Eu tive o mesmo problema há alguns anos atrás e nossa equipe de interface nos apontou Sifr. http://wiki.novemberborn.net/sifr/

Você incorpora a sua fonte em um filme Flash e, em seguida, usar o Sifr JavaScript para converter dinamicamente o texto em sua fonte. Porque do lado do cliente a sua, não há impacto do lado do servidor.

Se o usuário não tiver Flash ou JavaScript instalados, eles obter a fonte mais próxima web-friendly.

Como um bônus adicional:., Porque o seu conteúdo ainda é Text - Google pode pesquisar e indexar o conteúdo - uma otimização de SEO enorme

Por causa de caching, prefiro adicionar apenas o URL da imagem no resx. Caching é muito melhor para conteúdo estático (i-e arquivos texto) do que para o conteúdo gerado.

Eu ficaria muito cauteloso sobre a colocação de texto em imagens em tudo, CSS com fallback font-family apropriada é provavelmente a resposta correta sobre acessibilidade e boas MVC motivos.

Onde geração realmente é necessária Acho Kiblee e JayArr soluções esboço boas

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top