2012-04-20 25 views
8

Drupal 7 module 'image style' può rendere l'effetto immagine come ridimensionamento, ridimensionamento, ritaglio, ecc. Ma non è abbastanza. Ad esempio, la dimensione dell'immagine originale è 800x600, posso ridimensionarla a 400x300, quindi voglio aggiungere uno sfondo bianco in altezza, renderlo 400x400. Come fare questo effetto?c'è qualche effetto immagine per aggiungere uno sfondo bianco nell'immagine in drupal 7

+0

Perché non utilizzare i CSS per applicare un bordo 50px alla parte superiore e inferiore dell'immagine? – jsheffers

+0

@jsheffers perché l'altezza dell'immagine non è fissa –

+0

Stai dicendo che stai ridimensionando l'immagine a 400x300 che è una dimensione fissa ... Se fosse così potresti usare la mia soluzione sopra. – jsheffers

risposta

1

Infine, ho creato image effect module per questo. ridimensiona un'immagine a un insieme esatto di dimensioni dimensioni senza alcun ritaglio, allungamento o riduzione, ma aggiungerà lo sfondo bianco se necessario.

+0

Grazie , Franco! –

11

image cache actions è un ottimo modulo per questi casi ... si può provare che

+2

Per questo, utilizzare 2 stili: Scala + Definire tela sotto la foto –

1

Vedo che avete trovato una soluzione. Ma ce n'è uno molto più semplice. Fai in modo che lo stile dell'immagine riduca l'immagine a 400x300 (manterrà le proporzioni dell'immagine). Quindi usa il CSS per modellare uno dei div circostanti con uno sfondo bianco e una dimensione fissa - 400x300px. Se un'immagine ha un rapporto aspetto diverso, il div bianco circostante si riempirà. Se si desidera aggiungere uno spazio bianco in basso a destra, posizionare l'immagine in alto a sinistra all'interno del div. Oppure puoi centrare l'immagine per aggiungere uno spazio bianco su entrambi i lati o sopra/sotto (a seconda del rapporto di aspetto dell'immagine). Se hai bisogno di un bordo o di un'ombreggiatura attorno all'immagine, applicala al div circostante.

Aggiungere spazio nero: Se il vostro stile di immagine vengono utilizzati in una presentazione reattivo o qualcosa del genere e/o se si vuole tutte le immagini da una dimensione esatta (altezza/larghezza), si potrebbe ottenere questo usando due filtri:

  • Scale a 400x300 (altezza o larghezza corrisponderanno queste dimensioni e l'altro sarà uguale o minore)

  • Crop a 400x300 (dal altezza/larghezza già è uguale o minore di 400x300 si aggiungerà nero spazio alto/basso o verso destra/sinistra, se necessario)

[modifica]

aggiungere uno spazio vuoto utilizzando ImageCache Actions (Drupal 7) :

See this answer

per Drupal azioni 8 imagecache ora si chiama Image Effects. L'effetto di correggere altezza/larghezza con l'opzione di sfondo è "Imposta tela".

0

In realtà, è possibile farlo facilmente con l'effetto Image Kit. Utilizzando lo Smart Resizer , è possibile definire il colore di sfondo che si desidera utilizzare per riempire gli spazi vuoti.

https://www.drupal.org/project/iek

+0

invece di pubblicare semplicemente un link dovresti mostrare la risposta usando l'esempio del codice e descrivere brevemente per arricchire una risposta – AADProgramming