始める前に、画像は確かに十分に大きいです。
私は2206 x 2042の画像を持っていますが、それに応じて使用するためにさまざまな方法でトリミング(拡大縮小ではなく)したいと思います。
私が生産しようとしているサイズは以下のとおりです。
add_image_size( 'artist-full-xs', 730, 1842, array('right', 'bottom') );
add_image_size( 'artist-full-xs-sm', 730, 1000, array('right', 'bottom') );
add_image_size( 'artist-full-xs-sm-2', 730, 600, array('right', 'bottom') );
最初の画像は想定どおりにトリミングされ、次の2つは両方ともトリミングではなく拡大縮小されます。これはuploadsフォルダを見るとわかりますが、テンプレートの問題とは関係ありません。
@Andy Macauley-Brook実際のサイズ出力は以下の通りです:
730 x 1842 730 x 1000 730 x 600つまり、実際のトリミングは実際のトリミングではなく、最後の2つに比例して機能しています。
誰もがその理由を知っていて、おそらく私を助けてくれるだろうか?
WordPressの "作物"は文字通り作物を意味するのではありません。のように画像を撮り、指定された点からその正確な部分を切り取ります。
おおまかに言って、画像のサイズをできるだけ大きくするようにリサイズしてから、収まらない部分をトリミングします。実際には、これは結果がソースイメージとターゲットサイズの両方の比率の影響を受けることを意味します。
正確なロジックはimage_resize_dimensions()
関数に含まれており、インラインコメントで以下のように要約されています。
// crop the largest possible portion of the original image that we can size to $dest_w x $dest_h
正確な部分だけでなく、元の最大の部分。
正確な手順は数学であり、簡単に読んだり説明したりするにはあまりにも親切ではありません。一見したところ、起こりそうなことは次のとおりです。
あなたの特定のケースでは、サイズの違いは、最初の2つは高さ(高さが大きい)、3番目の幅は幅(幅が広い)です).
それはサイズが違って見えることにつながります。縦横比が異なるため、WPはさまざまな方法で元のサイズに収まります。
それらを並べて見れば、このロジックがどのように適用されたかがよくわかります。