Как сохранить прозрачные цвета при обрезке изображения в php? (Сохранение только в jpg файлах) - PullRequest
0 голосов
/ 07 августа 2011

Я пытаюсь сохранить прозрачные цвета исходного изображения для конечного изображения, когда пользователь обрезает изображение. Я думаю, что черные цвета появляются вместо прозрачных, только если изображение имеет тип gif или png. Что я сделал не так?

Я также хочу сохранить изображение только в формате jpg

public function crop2ThumbNail($top, $left, $height, $width){

    $this->imageResized = imagecreatetruecolor(100, 100);
    $type = strtolower(substr(strrchr($this->image,"."),1));
    if($type == "gif" or $type == "png"){
        imagecolortransparent($this->imageResized,imagecolorallocatealpha($this->imageResized, 0, 0, 0, 127));
        imagealphablending($this->imageResized, false);
        imagesavealpha($this->imageResized, true);
    }
    imagecopyresampled($this->imageResized, $this->image , 0, 0, $left, $top, 100, 100 , $width, $height);

public function saveImage($savePath, $imageQuality="75"){
    if (imagetypes() & IMG_JPG){
         imagejpeg($this->imageResized, $savePath, $imageQuality);
    }else{
             //Alert wrong format
    }
}

1 Ответ

0 голосов
/ 07 августа 2011

php GD создает прозрачное изображение в формате png

Возможно, вы найдете больше, если вы ищете .

К сожалению, это не тактак легко или просто, как вы ожидаете.

...