Les deux ont tendance à réduire l'image, puis à la rogner aux dimensions indiquées.
Ce que je veux, c'est simplement rogner le centre de l'image en 475 x 310
add_image_size( 'test', 475, 310, array( 'center', 'center' ) );
add_image_size( 'test2', 475, 310, true );
BTW J'utilise le plugin regenerate-thumbnails pour recréer toutes les images après avoir créé un nouveau décélération add_image_size ().
Voici une image de 1400 x 788 pixels, où j'ai ajouté une boîte rose directement au centre qui fait 475 x 310 pixels
J'ai téléchargé l'image dans mon message. Plutôt que ce que je veux, qui consiste à rogner l'image dans la zone rose, elle est d'abord réduite puis rognée à la plus petite dimension. Ci-dessous, la nouvelle image de mon répertoire wp-content/uploads produite à partir de add_image_size( 'test', 475, 310, array( 'center', 'center' ) );
et le même résultat lorsque je modifie ce bit en add_image_size( 'test', 475, 310, TRUE );
Qu'est-ce que je fais mal?
Vous ne pouvez pas faire cela avec la fonction add_image_size()
, après beaucoup de recherches et de fouilles dans les fichiers core, ce que l'option Hard Crop
de la fonction add_image_size()
fait réellement est de redimensionner l'image en utilisant la dimension inférieure, puis la taille spécifiée est rognée.
par exemple si vous créez une nouvelle taille d'image:
add_image_size( 'test2', 475, 310, true );
et télécharger une image comme celle-ci:
il redimensionnera l'image en utilisant la height
310
(puisque c'est la valeur la plus basse) en conservant le rapport de format, comme ceci:
ensuite, il recadrera l'image à l'aide de l'image redimensionnée, en fonction de la position d'envoi ou de la valeur par défaut center , center
. Le carré rouge se chevauchant correspond à la taille 475, 310
et correspond à la zone qui sera recadrée:
top
et bottom
n'ont pas d'importance, mais c'est parce que l'image a été redimensionnée à l'aide de la variable height
. Si c'était le cas dans l'autre sens, la width
étant la plus basse, l'image serait grande et la left
et right
ressemblerait à eux. ne compte pas.
Pour accomplir ce que vous essayez de faire, vous aurez besoin d'un plugin ou d'un développeur qui ajoutera le code nécessaire à votre thème. Cela ne peut pas être fait maintenant avec les outils intégrés par défaut de wordpress.
Ces fonctions sont celles qui font tout cela: