php - 带有SimpleImage类的png上的黑色边框

时间:2011-11-03 04:49:42

标签: php image

我正在使用php类SimpleImage

上传和调整图像大小

在某些png上,我在完成的结果的顶部和右侧出现黑色边框。

我使用的代码如下:

private function create_scaled_image($file_name, $options) {
    $file_name = preg_replace("#\s+#is", '_', strtolower($file_name));
    $file_path = $this->options['upload_dir'] . $file_name;
    $new_file_path = ( $options['upload_dir'] == $this->options['upload_dir'] ? $options['upload_dir'] . $options['version'] . '_' . $file_name : $options['upload_dir'] . $file_name );

    $max_width = $options['max_width'];
    $max_height = $options['max_height'];

    list($width_orig, $height_orig) = getimagesize($file_path);

    $case = strtolower(substr(strrchr($file_name, '.'), 1));

    $accept = array('jpg','jpeg','gif','png');

    if( in_array( $case, $accept ) ) {

        $image = new SimpleImage();
        $image->load($file_path);
        if( $width_orig > $max_width ) {
            $image->resizeToWidth($max_width);
            if( $image->getHeight() > $max_height ) {
                $image->resizeToHeight($max_height);
            }
        }elseif( $height_orig > $max_height ) {
            $image->resizeToHeight($max_height);
        }
        $image->save($new_file_path);
        return true;

    }

    return false;

}

有谁能告诉我是什么原因导致黑色边框?

问候

菲尔

0 个答案:

没有答案