php - черная граница на png с классом SimpleImage - PullRequest
0 голосов
/ 03 ноября 2011

Я загружаю и изменяю размеры изображений с помощью класса 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;

}

Может кто-нибудь сказать мне, что вызывает черную границу?

Относительно

Фил

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...