Ritaglio delle Thumbnail con add_image_size?

23 gen 2012, 05:19:44
Visualizzazioni: 22.2K
Voti: 1

Voglio che le mie thumbnail in una pagina specifica siano esattamente di 300px × 100px. Attualmente, le immagini si rimpiccioliscono fino a raggiungere il limite di 300 pixel o 100 pixel. Come posso fare per ritagliare l'immagine esattamente a 300 × 100 (preferibilmente senza distorsione dell'immagine).

// functions.php:
if ( function_exists( 'add_image_size' ) ) add_theme_support( 'post-thumbnails' );

if ( function_exists( 'add_image_size' ) ) { 
    // Ritaglio thumbnail per i post
    add_image_size( 'post-thumb', 620, 207, true );
    // Ritaglio thumbnail per la home
    add_image_size( 'home-thumb', 220, 180, true );
    // Ritaglio thumbnail per l'indice
    add_image_size( 'index-thumb', 300, 100, true );
}
// index.php:
if ( has_post_thumbnail()) the_post_thumbnail('index-thumb');
4
Commenti

Le immagini che si ridimensionano devono essere quelle caricate prima di aver specificato queste dimensioni? O stai avendo problemi anche con i nuovi caricamenti? Perché il parametro true effettivamente ritaglia le immagini senza distorcerle.

Hameedullah Khan Hameedullah Khan
23 gen 2012 15:59:53

L'ho impostato su true ma l'immagine non viene ritagliata a 300x100. Viene ritagliata a 300xX pixel oppure a Yx100 pixel. A seconda di quale dimensione viene raggiunta per prima.

pope pope
23 gen 2012 22:57:04

È così che WordPress effettua il ritaglio, per ottenere il ritaglio esatto a 300x100, controlla la soluzione qui: http://wpquestions.com/question/show/id/1098. NOTA: non l'ho testata personalmente.

Hameedullah Khan Hameedullah Khan
24 gen 2012 04:18:17

Stavo avendo gli stessi problemi, ho trovato questo e funziona per me - http://sumtips.com/2011/12/custom-image-sizes-in-wordpress.html

User User
11 ott 2012 18:10:49
Tutte le risposte alla domanda 3
0

Fai riferimento alla voce del Codex per add_image_size():

<?php add_image_size( $name, $width, $height, $crop ); ?>

Il parametro $crop è fondamentale:

(booleano) (opzionale) Ritagliare l'immagine o meno. False - Modalità di ritaglio proporzionale morbido; True - Modalità di ritaglio rigido.

Valore predefinito: false

Ovvero:

  • False (predefinito): ridimensionamento a scatola - (ridimensiona l'immagine rispetto alla dimensione vincolante)
  • True: ritaglio rigido - ritaglia l'immagine esattamente alle dimensioni specificate

Quindi il tuo codice dovrebbe funzionare così:

// Aggiungi supporto al Tema
add_theme_support( 'post-thumbnails' );

// Registra dimensioni personalizzate per le immagini
add_image_size( 'post-thumb', 620, 207, true );
add_image_size( 'home-thumb', 220, 180, true );
add_image_size( 'index-thumb', 300, 100, true );

Se noti che le tue immagini non vengono renderizzate/visualizzate correttamente, ci sono alcune cose da verificare:

  • Per le immagini aggiunte prima dell'implementazione di queste dimensioni personalizzate, dovrai rigenerare le miniature per quelle immagini
  • Le dimensioni delle immagini non verranno generate per immagini che non sono almeno grandi quanto le dimensioni specificate per una data misura. Pertanto, assicurati che le tue immagini siano almeno grandi quanto la misura di ritaglio rigido più grande specificata. (Le immagini ridimensionate a scatola sono meno vincolate e devono essere almeno grandi quanto la dimensione più piccola specificata per una data misura.)
15 nov 2012 18:36:48
0

Dai un'occhiata a questo plugin

  • crea dimensioni illimitate per le immagini (ritagliate e non)
  • aggiunge dimensioni nel campo di selezione dei media
  • aggiunge filtri CSS e animazioni
  • gestisce le filigrane
21 mar 2014 10:36:32
5
-1

Prova a cambiare il parametro "true" in "false". Puoi anche rimuovere le istruzioni "if" nel file functions.php se non sono necessarie per altre funzionalità...

23 gen 2012 06:12:57
Commenti

Il parametro true ritaglia effettivamente l'immagine, se lo imposti su false l'immagine non verrà ritagliata ma ridimensionata.

Hameedullah Khan Hameedullah Khan
23 gen 2012 16:00:58

Impostarlo a true o false mi dà lo stesso risultato.

pope pope
23 gen 2012 17:27:02

hai verificato che le tue immagini siano effettivamente più grandi delle dimensioni che hai definito come miniature? E hai provato a rimuovere le clausole "if"?

krembo99 krembo99
23 gen 2012 18:47:15

Ho provato con immagini più grandi. Stesso risultato. Rimuovendo le clausole if dà un errore.

pope pope
23 gen 2012 21:42:43

Puoi indicare l'errore?

krembo99 krembo99
24 gen 2012 15:37:22