web-dev-qa-db-ja.com

Add_image_size()で拡大縮小またはサイズ変更を行って画像にトリミング

どちらも画像を縮小してから、表示されている寸法にトリミングする傾向があります。

欲しいのは、画像の中央を475 x 310でトリミングするだけです。

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

ところで私は私が新しいadd_image_size()減速をした後にすべての画像を再作成するために再生成サムネイルプラグインを使用しています。

これは1400 x 788ピクセルの画像です。中央に直接ピンクのボックスを追加しました。これは475 x 310ピクセル です。enter image description here

私は自分の投稿に画像をアップロードしました。私が望むものではなく、ピンク色のボックスで画像をトリミングするのではなく、最初に縮小し、次に小さいサイズにトリミングします。以下は、add_image_size( 'test', 475, 310, array( 'center', 'center' ) );から生成された私のwp-content/uploadsディレクトリからの新しい画像でもありますが、そのビットをadd_image_size( 'test', 475, 310, TRUE );に変更した場合も同じ結果になります。enter image description here

何がおかしいのですか?

1

add_image_size()関数でそれを行うことはできません。多くの調査とコアファイルの調査の後、add_image_size()関数のHard Cropオプションが実際に行うことは、下のディメンション、指定されたサイズをトリミングします

たとえば、新しい画像サイズを作成する場合:

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

このような画像をアップロードします:

enter image description here

height310(値が小さいため)を使用して画像のサイズを変更し、次のようにアスペクト比を維持します。

enter image description here

次に、送信された位置またはデフォルトのcenter , centerに基づいて、サイズ変更された画像を使用して画像をトリミングします。重複する赤い正方形はサイズ475, 310であり、トリミングされる領域です。

enter image description here

enter image description here

enter image description here

topbottomのように見えるかもしれませんが、それはheightを使用して画像のサイズが変更されたためです。逆の場合はwidthが画像の高さが低くなると、leftrightは重要ではないように見えます。

あなたがやろうとしていることを達成するには、テーマに必要なコードを追加するプラグインまたは開発者が必要になります。それは今すぐwordpressのデフォルトの組み込みツールではできません。

これらの機能は、これらすべてを実行しているものです。

2
David Lee