Redimensionando imagens para o tamanho real usado no editor?

18

Existe uma maneira de redimensionar as imagens para o tamanho real que elas 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 que isso às vezes resulta em uma imagem com 100px de largura no post, mas na realidade com 1500px.

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á-la no objeto _wp_attachment_metadata ), portanto, essa postagem terá a imagem no tamanho correto e uma referência ao anexo em tamanho real.

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

    
por Jan Fabry 07.09.2010 / 12:40

5 respostas

10

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 plug-in básico é um On-Demand Resizer . Esses plug-ins 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 será redimensionado 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 plug-in, Redimensionar tags img , modifica <img> tags para que seus src os atributos incluem 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 todas as postagens existentes, mas isso deve ser fácil (não quero ligar para 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 my thumbnail editor , que também usará o primeiro plugin.

    
por Jan Fabry 13.11.2010 / 17:16
4

Eu procurei no diretório de plug-ins por "resize" ou "crop" (o último por 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 pesquisa "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 ainda não testei nenhum destes plugins, 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 várias formas de armazenamento em cache. Eu prefiro uma imagem real que é criada conforme necessário, semelhante à abordagem que o ImageScaler faz. No entanto, eu iria dividir isso (e incluir a sugestão de hakre nos comentários) e primeiro reescrever todos os URLs de /wp-content/uploads/2010/11/image.jpg para /wp-content/uploads/2010/11/image-100x50.jpg e, em seguida, deixar um script criar 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 esta solução em uma resposta separada.

Esses plug-ins 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 elas forem muito grandes, não se eles são apenas redimensionados) (3.0.1)
  • Hungred Image Fit , verifica imagens muito grandes (3.0.0)

O seguinte plugin é interessante por outras razões:

Esta é uma postagem do Wiki da comunidade, portanto, ela pode ser atualizada se você encontrar novos plug-ins.

    
por Jan Fabry 13.04.2017 / 14:37
0

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 abaixo desta linha, me avise.

    
por NetConstructor.com 07.09.2010 / 12:46
0

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.

    
por Raphael 10.11.2010 / 15:43
0

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

    
por Rarst 07.08.2011 / 21:22