Example #1
0
 public function __clone()
 {
     parent::__clone();
     /*ob_start();
       imagegd2($this->getImageResource());
       $this->setImageResource(imagecreatefromstring(ob_get_clean()));
       return;*/
     $image = $this->getImageResource();
     $w = imagesx($image);
     $h = imagesy($image);
     $trans = imagecolortransparent($image);
     if (imageistruecolor($image)) {
         $clone = imagecreatetruecolor($w, $h);
         imagealphablending($clone, false);
         imagesavealpha($clone, true);
     } else {
         $clone = imagecreate($w, $h);
         if ($trans >= 0) {
             $rgb = imagecolorsforindex($image, $trans);
             imagesavealpha($clone, true);
             $trans_index = imagecolorallocatealpha($clone, $rgb['red'], $rgb['green'], $rgb['blue'], $rgb['alpha']);
             imagefill($clone, 0, 0, $trans_index);
         }
     }
     imagecopy($clone, $image, 0, 0, 0, 0, $w, $h);
     $this->setImageResource($clone);
 }