it-swarm-pt.tech

Redimensionando imagens para o tamanho real usado no editor?

Existe uma maneira de redimensionar imagens para o tamanho real que serão mostradas na postagem? Eu tenho usuários que importam uma imagem grande e depois a redimensionam no editor visual. Isso é fácil, já que eles podem simplesmente arrastar a imagem até que ela tenha o tamanho desejado, sem primeiro abrir um editor de imagem, redimensionar a imagem, salvá-la e enviá-la como um anexo separado. Claro, isso às vezes resulta em uma imagem que tem 100px de largura no post, mas 1500px na realidade.

Existe um plugin que faz isso quando uma nova postagem é salva? Gostaria de manter a imagem em tamanho real existente (para vincular ou redimensionar posteriormente), mas basta adicionar um tamanho extra (e salvá-lo no objeto _wp_attachment_metadata), para que essa postagem tenha a imagem no tamanho correto e uma referência para o anexo em tamanho real.

Naturalmente, todas as postagens existentes também devem ser tratadas uma vez. As tags <img> podem ter apenas width, apenas height, ou nenhuma delas: tudo deve ser limpo, então todas elas têm a width, height correta e uma imagem desse tamanho.

20
Jan Fabry

Eu criei dois plugins que juntos deveriam resolver minhas necessidades. Eles estão atualmente em um estágio alfa inicial e todos os comentários são bem-vindos.

O plugin base é um Resizer sob demanda . Esses plugins monitoram solicitações de arquivos não existentes no diretório de uploads e cria imagens do tamanho solicitado, se necessário. Por exemplo, image-200x100.jpg criará e retornará image.jpg, mas redimensionará para 200 por 100 pixels. A imagem é salva por esse nome no diretório, portanto, outras solicitações são tratadas diretamente pelo servidor.

O segundo plugin, Resize img tags , modifica <img> tags para que seus atributos src incluam dados de largura e/ou altura. Isso permite que o primeiro plug-in exiba as imagens corretas. Juntos, eles fazem o que eu quero, e eu só preciso criar uma função run-once para converter todos os posts existentes, mas isso deve ser fácil (eu não quero ligar em the_content para algo que deve ser executado apenas uma vez).

Um terceiro plugin "bônus", Imagens intermediárias virtuais , intercepta a criação das imagens intermediárias ao carregar uma nova imagem no WordPress. Como eles ainda são criados pelo primeiro plug-in, se solicitado, isso permite especificar vários tamanhos de imagem sem ocupar espaço em disco, a menos que eles sejam realmente usados. Isso não é necessário para os dois primeiros a trabalhar, mas foi uma adição fácil, e destaca o fato de que eu ainda preciso contornar o editor de imagens do WordPress, mas farei isso quando criar meu editor de miniaturas , que também usará o primeiro plugin.

11
Jan Fabry

Pesquisei o diretório de plug-in para "resize" ou "crop" (o último para outra pergunta ) e observei minhas descobertas em uma planilha pública do Google . A busca do plugin é muito confusa em seus números de resultado (a última página da busca do "resize" mostra "Mostrando 145-150 de 273 plugins"), então eu posso ter perdido alguns. Notas semi-relacionadas: todo mundo parece pensar que o mundo precisa de outro plugin de slideshow. Poucos parecem perceber que content_save_pre pode ser um filtro melhor para fazer uma análise pesada do que the_content.

Eu não testei nenhum desses plugins ainda, mas aqui está uma lista de plugins que parece fazer o que eu quero. Eu adicionei o número da versão "Compatible up to" entre parênteses.

Pensamentos pessoais: Os quatro primeiros reescrevem o URL para uma página dinâmica (algo como /wp-content/plugins/my-plugin/image.php?src=[original src]&w=100&h=50), com diversas formas de armazenamento em cache. Eu prefiro uma imagem real que é criada conforme a necessidade, semelhante à abordagem que o ImageScaler faz. No entanto, gostaria de dividir isso (e incluir a sugestão de hakre nos comentários) e primeiro reescrever todas as URLs de /wp-content/uploads/2010/11/image.jpg para /wp-content/uploads/2010/11/image-100x50.jpg e, em seguida, permitir que um script crie as imagens ausentes. A primeira solicitação para esta imagem cria a imagem, todas as solicitações subsequentes usam essa imagem criada. Isso também me permite dividir a funcionalidade em diferentes plugins. Vou postar essa solução em uma resposta separada.

Esses plugins limitam as imagens a um determinado tamanho máximo (como isso é diferente de especificar $content_width?):

  • JP-redesign-images , verifica imagens com hiperlink e tamanho grande (somente se forem muito grandes, não se forem apenas redimensionadas) (3.0.1)
  • Hungred Image Fit , verifica imagens muito grandes (3.0.0)

O seguinte plugin é interessante por outras razões:

Esta é uma publicação do Wiki da Comunidade, portanto, ela pode ser atualizada se você encontrar novos plug-ins.

4
Jan Fabry

O Wordpress oferece três tamanhos padrão (pequeno, médio e grande) que podem ser configurados. Se você usá-los, o Wordpress cria cópias redimensionadas. É provavelmente um bom estilo para usá-los e definir o número para que eles se encaixem no estilo atual. Isso resulta em imagens que não têm tamanhos diferentes em toda a página e permitem ajustes globais quando o tema muda.

0
Raphael

O recém lançado Image Pro plugin parece fazer exatamente isso. Ainda não tinha testado, a demo parece muito impressionante, note a fraca compatibilidade do navegador (somente no Firefox no momento).

0
Rarst

Que tal utilizar o timthumb e a variável de passagem para alterar automaticamente o tamanho/dimensões da imagem e os níveis de zoom? Desta forma, os tamanhos originais das imagens podem ser mantidos. Se você precisar de alguns exemplos nesta linha, me avise.

0
NetConstructor.com