我想调整图像大小,但有些图像保留空白

时间:2019-11-13 11:06:50

标签: php

[{'id': 2,
  'items': [{'id': 3, 'key': '1', 'name': 'Kilometerteller: Kilometerstand '},
            {'id': 2, 'key': '2', 'name': 'Aanduiding van het chassisnummer '},
            {'id': 1, 'key': '3', 'name': 'Typeplaatje'},
            {'id': 5, 'key': '4', 'name': 'COC of gelijkvormigheidsattest '},
            {'id': 4, 'key': '5', 'name': 'Inschrijvingsbewijs '}],
  'key': 'B',
  'name': 'Onderdelen'},
 {'id': 2,
  'items': [{'id': 15, 'key': '6', 'name': 'Batterij'},
            {'id': 11, 'key': '7', 'name': 'Differentieel '},
            {'id': 13, 'key': '8', 'name': 'Uitlaat '},
            {'id': 12, 'key': '9', 'name': 'Cardanhoezen '},
            {'id': 10, 'key': '10', 'name': 'Koppeling'}],
  'key': 'B',
  'name': 'Onderdelen'}]

我这样称呼

function image_resize($src, $dst, $width, $height, $crop=0){
    if(!list($w, $h) = getimagesize($src)) return "Unsupported picture type!";
    $type = strtolower(substr(strrchr($src,"."),1));
    if($type == 'jpeg') $type = 'jpg';
    switch($type){
        case 'jpg': $img = imagecreatefromjpeg($src); break;
        case 'png': $img = imagecreatefrompng($src); break;
        default : return "Unsupported picture type!";
    }
    if($crop){
        if($w < $width or $h < $height) return "Picture is too small!";
        $ratio = max($width/$w, $height/$h);
        $h = $height / $ratio;
        $x = ($w - $width / $ratio) / 2;
        $w = $width / $ratio;
    }
    else{
        if($w < $width and $h < $height) return "Picture is too small!";
        $ratio = min($width/$w, $height/$h);
        $width = $w * $ratio;
        $height = $h * $ratio;
        $x = 0;
    }
    $new = imagecreatetruecolor($width, $height);
    if($type == "gif" or $type == "png"){
        imagecolortransparent($new, imagecolorallocatealpha($new, 0, 0, 0, 127));
        imagealphablending($new, false);
        imagesavealpha($new, true);
    }
    imagecopyresampled($new, $img, 0, 0, $x, 0, $width, $height, $w, $h);
    switch($type){
        case 'jpg': imagejpeg($new, $dst); break;
        case 'png': imagepng($new, $dst); break;
    }
    return true;
}

但是我看到服务器中保存了一些图片的黑色图片 请帮我

0 个答案:

没有答案