上载时禁用调整gif大小

时间:2016-06-14 作者:Lasse M. Tvedt

动画GIF在网络上越来越流行,目前还没有调整动画GIF大小的好工具。

因此,我想为gif mimetype禁用图像大小的调整/生成,只保存原始gif。

有人能帮我吗?使用哪种过滤器将是一个良好的开端。

2 个回复
最合适的回答,由SO网友:Lasse M. Tvedt 整理而成

image\\u make\\u intermediate\\u size不是我要找的挂钩,而是intermediate\\u image\\u size\\u 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); 

SO网友:cjbj

目前没有调整动画GIF大小的好工具

调整动画GIF的大小是supported by ImageMagick, 这恰好是WordPress的默认图像库。唯一的问题是WP在ImageMagick的默认API中不支持此过滤器。

幸运的是,可以拦截image_make_intermediate_size, 生成已调整大小的图像的挂钩。在这里,您可以拦截GIF并以不同的方式处理它们。也许你可以从this image sharpening plugin 了解如何将ImageMagick方法应用于图像。