2015-01-31 4 views
1

wordpres에서 b &을 생성하려고합니다. 문제는 내가 업로드하는 PNG에 투명성이 있다는 것입니다. 템플리트의 디자인과 일치시키기 위해 그레이 스케일에서 필요한 파트너와 다른 로고입니다.Wordpress thumbs - 흑백 투명 PNG를 생성하는 방법

지금까지 나는이있어 :

// 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 빨강 (또는 다른 색상)으로 표시됩니다. 누구나이 더 좋은 해결책을 가졌습니다 - 이미지를 Photoshoping하는 것을 포함하지 않는 종류입니다.). 미리 감사드립니다.

답변

0

처음에는 wp_load_image가 상각되었습니다. wp_image_editor을 사용해야합니다. wp_image_editor를 사용하여 함수를 다시 작성하여 GRAYSCALE 필터를 적용 할 때 동일한 문제가 발생하는지 확인하는 것이 좋습니다.