web-dev-qa-db-ja.com

アップロード時にGIFのサイズ変更を無効にする

アニメーションGIFは(再び)Web上で人気が高まっており、現在、アニメーションGIFのサイズを変更するための優れたツールはありません。

だから私はGIF MIMEタイプの画像サイズのリサイズ/生成を無効にして、ただオリジナルのGIFを保存したいのです。

これで私を助けることができる誰か?どのフィルタを使用するのが良いスタートでしょう。

3
Lasse M. Tvedt

image_make_intermediate_sizeは私が探していたフックではなく、intermediate_image_sizes_advancedでした。

これが実用的なコードです:

function disable_upload_sizes( $sizes, $metadata ) {

    // Get filetype data.
    $filetype = wp_check_filetype($metadata['file']);

    // Check if is gif. 
    if($filetype['type'] == 'image/gif') {
        // Unset sizes if file is gif.
        $sizes = array();
    }

    // Return sizes you want to create from image (None if image is gif.)
    return $sizes;
}   
add_filter('intermediate_image_sizes_advanced', 'disable_upload_sizes', 10, 2); 
5
Lasse M. Tvedt

現在、アニメーションGIFのサイズを変更するための優れたツールはありません。

アニメーションGIFのサイズ変更は ImageMagickによってサポートされています はWordPressのデフォルトの画像ライブラリです。唯一のものはWPがImageMagickのデフォルトAPIではこのフィルタをサポートしていないことです。

幸いなことに、サイズ変更された画像を生成するフックである image_make_intermediate_size を傍受することは可能です。ここであなたはGIFを傍受し、それらを異なる方法で処理させることができます。 この画像鮮明化プラグイン からインスピレーションを得ることができます - /あなたの画像にImageMagickメソッドを適用する方法を見るために。

2
cjbj