wake-up-neo.com

Bild zuschneiden, ohne es zu skalieren oder mit add_image_size () in der Größe zu ändern

In beiden Fällen wird das Bild in der Regel verkleinert und dann auf die angegebenen Abmessungen zugeschnitten.

Ich möchte nur die Bildmitte bei 475 x 310 ausschneiden

add_image_size( 'test', 475, 310, array( 'center', 'center' ) );
add_image_size( 'test2', 475, 310, true );

Übrigens, ich benutze das Regenerate-Thumbnails-Plugin, um alle Bilder neu zu erstellen, nachdem ich eine neue add_image_size () -Verzögerung durchgeführt habe.

Hier ist ein Bild mit einer Größe von 1400 x 788 Pixel, in dem ich direkt in der Mitte eine pinke Box mit einer Größe von 475 x 310 Pixel hinzugefügt habe  enter image description here 

Ich habe das Bild in meinen Post hochgeladen. Anstatt das Bild in der rosa Box zuzuschneiden, wird es zunächst verkleinert und dann auf die kleinere Dimension zugeschnitten. Unten ist das neue Bild aus meinem Verzeichnis wp-content/uploads zu sehen, das aus add_image_size( 'test', 475, 310, array( 'center', 'center' ) ); erstellt wurde, und das gleiche Ergebnis, wenn ich dieses Bit in add_image_size( 'test', 475, 310, TRUE ); ändere.  enter image description here 

Was mache ich falsch?

1

Sie können dies mit der Funktion add_image_size() nicht tun. Nach langem Suchen und Durchsuchen der Kerndateien bewirkt die Option Hard Crop der Funktion add_image_size(), dass die Größe des Bilds mit der niedrigeren Dimension geändert wird. Dann wird die angegebene Größe zugeschnitten

beispiel, wenn Sie eine neue Bildgröße erstellen:

add_image_size( 'test2', 475, 310, true );

und lade ein Bild wie dieses hoch:

 enter image description here 

die Größe des Bildes wird mit der height310 (da der niedrigere Wert ist) geändert, wobei das Seitenverhältnis wie folgt beibehalten wird:

 enter image description here 

anschließend wird das Bild mit der geänderten Bildgröße beschnitten, basierend auf der Position, die gesendet wurde, oder der Standardeinstellung center , center. Das überlappende rote Quadrat hat die Größe 475, 310 und ist der Bereich, der beschnitten wird:

 enter image description here 

 enter image description here 

 enter image description here 

es mag so aussehen, als ob die top und die bottom keine Rolle spielen, aber das liegt daran, dass die Größe des Bildes mit der height geändert wurde. Wenn es umgekehrt wäre, wäre die width umso niedriger, je größer das Bild und die left und die right würden so aussehen egal.

Um das zu erreichen, was Sie versuchen, benötigen Sie ein Plug-In oder einen Entwickler, der Ihrem Design den erforderlichen Code hinzufügt. Dies ist derzeit mit den in WordPress standardmäßig integrierten Tools nicht möglich.

Diese Funktionen machen all das:

1
David Lee