web-dev-qa-db-fra.com

Désactiver le redimensionnement du fichier GIF une fois chargé

Les gifs animés deviennent (encore une fois) de plus en plus populaires sur le Web et il n’existe actuellement aucun outil efficace pour redimensionner les gifs animés.

Je souhaite donc désactiver le redimensionnement/la génération des tailles d'image pour le type MIM gif et simplement enregistrer le gif d'origine.

Quelqu'un qui peut m'aider avec ça? Quel filtre utiliser sera un bon début.

3
Lasse M. Tvedt

image_make_intermediate_size n'était pas le hook que je cherchais, mais intermediate_image_sizes_advanced.

Voici un code de travail:

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

actuellement, il n'y a pas de bon outil pour redimensionner les gifs animés

Le redimensionnement des gifs animés est pris en charge par ImageMagick , qui se trouve être la bibliothèque d'images par défaut de WordPress. La seule chose qui reste est que WP ne prend pas en charge ce filtre dans son API par défaut pour ImageMagick.

Heureusement, il est possible d'intercepter image_make_intermediate_size , le crochet qui produit les images redimensionnées. Ici, vous pouvez intercepter les gifs et les faire traiter de manière différente. Peut-être pourriez-vous vous inspirer de ce plugin de netteté d’image pour voir comment appliquer les méthodes ImageMagick à vos images.

2
cjbj