it-swarm-pt.tech

Recorte amigável de miniaturas de postagem?

Existe uma maneira de permitir que meus usuários definam a área de corte de uma miniatura de postagem? As miniaturas são sempre pós anexos existentes, prefiro não criar um anexo extra por miniatura.

As miniaturas das postagens devem ter 200 x 100 pixels e vir de uma das imagens usadas na postagem. Então, no meu mundo ideal, quando você clica no link "Definir imagem em destaque", você obtém uma visão geral das imagens já incluídas e, ao clicar em uma delas, pode definir a área da cultura (movendo ou redimensionando, mas mantendo a proporção de 2x1). Quando você clica em "OK", a nova miniatura de postagem é salva com o anexo original (no campo de metadados _wp_attachment_metadata['sizes']['post-thumbnail'], por exemplo), não como um novo anexo. Usar uma imagem que já é usada como uma miniatura de postagem para outra postagem não deve ser permitido ou, pelo menos, dar um aviso.

Acredito que o editor de imagens incluído não atenda às minhas necessidades, pois você pode optar por editar todas as versões da imagem ou a miniatura comum, mas não apenas a miniatura da postagem. Eu também acho um pouco confuso para saber quais versões eu estou editando, então eu acho que meus usuários terão ainda mais problemas com isso.

Existe um plugin que faz o que eu quero, ou que eu possa facilmente estender às minhas necessidades?

Atualização: exemplo de interface do usuário

Eu realmente gosto da interface do seletor de imagens do Mac OS X Address Book: você seleciona uma imagem e redimensiona um cortador de miniaturas de taxa fixa através de um controle deslizante. Você também pode arrastar a imagem de base ao redor. Você pode expandir essa ideia para vários tamanhos de imagem (eu tenho um post-thumbnail e post-thumbnail-1/2 que é metade desse tamanho, por exemplo). Deixe o usuário selecionar o (s) tamanho (s) que ele está editando agora com caixas de seleção e desenhe os retângulos de recorte apropriados na tela.

The Address Book image cropper in action

32
Jan Fabry

O código ainda é uma bagunça, mas parece funcionar, mesmo em IE 8. Eu pretendo lançá-lo no repositório, mas enquanto isso você pode tocar com minha versão atual . Para acessá-lo, clique em "Editar imagem" ao adicionar ou editar uma imagem, ela substitui o editor de imagens usual (eles são muito difíceis de combinar). Como a maioria da área de administração usa a miniatura comum e minha versão atual edita a miniatura da postagem, pode parecer que o código não tem efeito, mas tente exibindo uma miniatura de postagem e você deverá vê-la mudar.

Este plugin requer o meu On-Demand Image Resizer , que também é uma bagunça, para fazer o redimensionamento real.

Example image in the cropper

11
Jan Fabry

Sua melhor aposta é usar uma cultura de imagem baseada em javascript e, em seguida, php combinado com ImageMagick ou Image Gd.

Teria que ser escrito em suas funções ou como um plug-in que eu não conheço de qualquer plug-in wordpress, o que é surpreendente.

Há um corte de imagem YUI com a opção de salvar com base no php http://developer.yahoo.com/yui/examples/imagecropper/conn_crop.html

Aqui está um tutorial diferente sobre como usar um jquery cropper com php
http://www.webmotionuk.co.uk/php-jquery-image-upload-and-crop/

Uma terceira opção muito semelhante ao link acima, usando o mesmo jquery cropper mas código diferente. http://www.leonkessler.com/blog/?p=132

Aqui está outro usando o jcrop do jquery, http://www.talkincode.com/jcrop-extension-implementation-in-php-932.html

Quem está pronto para um novo plug-in, isso certamente seria popular :)

4
Wyck

Você pode querer usar CSS para ter grande flexibilidade, corrigir miniaturas em seu tema (se desejado) e evitar confusão de arquivos:

http://www.seifi.org/css/creating-thumbnails-using-the-css-clip-property.html

Lembre-se que toda a imagem será carregada, por isso não use seus originais de 3MB para isso.

Atualização conforme solicitação de Jan: Se você quiser um recorte dinâmico, considere:

  • Para user = administrator, crie CSS via PHP; Você pode apenas ligar para o php que lê as configurações apropriadas e ajustar os parâmetros de recorte em conformidade.
  • Para user = visitor, use JavaScript para alterar os parâmetros de recorte no atributo de estilo da imagem.
  • Como uma solução menos invasiva, considere criar um shortcode (através do ótimo plugin Shortcode Exec PHP) como [thumb w = ?? h = ??] url [/ thumb] que você pode traduzir para a tag HTML apropriada com CSS in-line.
1
Raphael

Eu acredito que você está procurando por isso: http://wordpress.org/support/topic/scissors-for-wordpress-29-also-works-on-30-hurray

Eu não tentei isso, mas deve oferecer a funcionalidade que você está procurando.

A página do plugin original aqui. http://wordpress.org/extend/plugins/scissors/

Estou precisando disso para um projeto em que estou trabalhando também.

1
tomcat23

Eu decidi cortar miniaturas usando o "wp_get_attachment_image" nativo ... aqui vai um exemplo de uma galeria de imagens, com miniaturas cortadas

http://wpworks.wordpress.com/2010/12/27/image-gallery-with-image-crop/

Cumprimentos

1
Alvaro Neto

Há um plugin antigo chamado WP Post Thumbnail que às vezes usamos. Não é perfeito, e há alguns pequenos bugs com a versão mais recente fo WP (ele não é atualizado desde 2008, portanto não é necessariamente confiável). http://wordpress.org/extend/plugins/wp-post-thumbnail/

1
gabrielk

Supondo que você já tenha adicionado suporte para pós-miniaturas, como você está falando sobre a opção "Imagem em destaque".

Se assim for, uma opção você tem para adicionar um novo tamanho de imagem para o array de upload. Então, por padrão, você tem miniaturas, médias, grandes. No seguinte trecho de código, isso adiciona uma quarta imagem ao sortimento, com base no tamanho que você desejar. Este pedaço de código seria adicionado ao seu arquivo functions.php.

add_image_size( 'new_thumb', 200, 100, true );

"new-thumb" = o nome da nova imagem personalizada
"200" = largura
"100" = altura
"true" = opção de cultura difícil. Isso forçará uma imagem a ser cortada na largura/altura definida. Sem, apenas dimensiona para proporção.

Agora, para exibir a nova miniatura em uma página ou postar matriz, você deve inserir o seguinte em seu HTML

<?php the_post_thumbnail('new_thumb'); ?>
1
cnix

Eu acho que a solução definitiva para este problema seria modificar o plugin de http://www.seoadsensethemes.com/wordpress-wp-post-thumbnail-plugin/

e personalize-o para que qualquer tamanho de imagem personalizado definido dentro do seu arquivo functions.php (usando add_image_size( 'new_thumb', 200, 100, true );) seja usado automaticamente e depois obtenha o código para substituir (ou estender) o link "edit" quando quiser modificar uma imagem.

Utilizando essa abordagem, o wordpress pode continuar a criar seus tamanhos de imagem aplicáveis, como normalmente faz, mas se você quiser modificar especificamente a área recortada de qualquer imagem específica, poderá substituí-la, o que substituirá a imagem gerada automaticamente para esse tamanho. Hmmm ... embora isso pareça confuso ler sobre isso novamente é exatamente o que eu sinto que está faltando.

Atualmente, acredito que o plug-in salve esses tamanhos de imagem personalizados em um campo personalizado dentro de uma postagem, em vez de uma postagem para uma imagem aplicável.

1
NetConstructor.com