Görüntü kütüphanesi sabitleme Yardım

0 Cevap php

Ben bir görüntü kütüphanesi ile ilgili bir sorun var. Ben sorunu biliyorum ama görüntüler hakkında çok az şey biliyor ve kimse kesin yanlış giden ne olduğunu bana söyleyebilir umuyordum düşünüyorum.

Ne yapmaya çalışıyorum bir. Png yeniden boyutlandırmak ve şeffaflığı korumak olduğunu. Ben yeniden boyutlandırmak ve bir. Png görüntü kaydetmek zaman saydamlığını kaybeder ve siyah olur.

Sorunun resize işlevinde imagecreatetruecolor fonksiyonu olduğuna inanıyoruz. Belgelere bu siyah bir görüntü verir göstermektedir. Ben bu Sonra ben ne olduğunu sanmıyorum.

Birisi bir meraklı var ve sorun yeniden boyutlandırma fonksiyonu ile aslında yalan yapar ve nasıl bu sabit olmalıdır eğer bana söyler misiniz.

Teşekkürler.

class ResizeImage {

    // Load Image
    function load($filename) {
        $image_info = getimagesize($filename);
        $this->image_type = $image_info[2];

        if( $this->image_type == IMAGETYPE_JPEG ) {
            $this->image = imagecreatefromjpeg($filename);
        } elseif( $this->image_type == IMAGETYPE_GIF ) {
            $this->image = imagecreatefromgif($filename);
        } elseif( $this->image_type == IMAGETYPE_PNG ) {
            $this->image = imagecreatefrompng($filename);
            imagealphablending($this->image, true);
            imagesavealpha($this->image, true);
        }
    }

        // Resize the image
        function resize($width,$height) {
        $new_image = imagecreatetruecolor($width, $height);
        imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
        $this->image = $new_image;
    }

        // Save the image
    function save($filename, $image_type='', $compression=100, $permissions=null) {
        if ($image_type != '') {
            $this->image_type = $image_type;
        }

        if( $this->image_type == IMAGETYPE_JPEG ) {
            imagejpeg($this->image,$filename,$compression);
        } elseif( $this->image_type == IMAGETYPE_GIF ) {
            imagegif($this->image,$filename);
        } elseif( $this->image_type == IMAGETYPE_PNG ) {
            imagepng($this->image,$filename);
        }
        if( $permissions != null) {
            chmod($filename,$permissions);
        }
    }

0 Cevap