首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress thumbs -如何生成黑白透明png

Wordpress thumbs -如何生成黑白透明png
EN

Stack Overflow用户
提问于 2015-01-31 22:48:04
回答 1查看 97关注 0票数 1

我正在尝试在wordpres中生成一个黑白的png拇指。问题是我上传的pngs是透明的。他们是从合作伙伴不同的标志,我需要在灰度匹配模板的设计。

到目前为止,我得到了这样的结论:

代码语言:javascript
复制
// add thumb size
add_image_size('pvz-partnerbw-image', 9999, 64, false);

// Generate BW thumbnail
add_filter('wp_generate_attachment_metadata','pvz_bw_filter');
function pvz_bw_filter($meta) {
    $file = wp_upload_dir();
    $file = trailingslashit($file['path']).$meta['sizes']['pvz-partnerbw-image']['file'];
    list($orig_w, $orig_h, $orig_type) = @getimagesize($file);
    $image = wp_load_image($file);
    imagefilter($image, IMG_FILTER_GRAYSCALE);
    imagesavealpha($image,true);

    switch ($orig_type) {
        case IMAGETYPE_GIF:
            imagegif( $image, $file );
            break;
        case IMAGETYPE_PNG:
            imagepng( $image, $file );
            break;
        case IMAGETYPE_JPEG:
            imagejpeg( $image, $file );
            break;
    }
    return $meta;
}

它几乎可以工作,但问题是,在艺术作品和透明背景之间的边缘上,颜色会留下来。所以我得到了一个1px红色(或其他颜色)的黑白logo。任何人都有更好的解决方案--不包括‘t图像的那种;)。提前谢谢你!

EN

回答 1

Stack Overflow用户

发布于 2015-02-01 02:41:09

首先,wp_load_image已经贬值了。您应该使用wp_image_editor。我建议使用wp_image_editor重写您的函数,看看它是否会产生与应用灰度滤镜相同的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28252881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档