예제 #1
0
    }
    public function getData()
    {
        return $this->data;
    }
}
// 工厂模式 指代在某一个
class ImageFactory
{
    public static function factory($file)
    {
        $pathParts = pathinfo($file);
        switch (strtolower($pathParts['extension'])) {
            case 'jpg':
                $ret = new Image_Jpeg($file);
                break;
            case 'png':
                $ret = new Image_Png($file);
                break;
            default:
                break;
        }
        if ($ret instanceof IImage) {
            return $ret;
        } else {
            echo '错误';
        }
    }
}
$image = ImageFactory::factory("./my.png");
echo $image->getWidth();
예제 #2
0
 /**
  * Opens an image file.
  * 
  * @deprecated This function is deprecated, use load_image() 
  * with the colorize, ignoremask, invert, mask, masked, and page 
  * options instead.
  * 
  * @param string $imagetype
  * @param string $filename
  * @param string $stringparam
  * @param integer $intparam
  * @return AbstractImage
  */
 public function open_image_file($imagetype, $filename, $stringparam = '', $intparam = 0)
 {
     return ImageFactory::factory($filename);
 }