Example #1
0
 /**
  * Cоздаёт экземпляры классов AcImageJPG, AcImageGIF, AcImagePNG
  * в зависимости от типа изображения.
  *
  * @param string путь к файлу с изображением
  * @return AcImageJPG|AcImagePNG|AcImageGIF
  */
 public static function createImage($filePath)
 {
     $image = new AcImage($filePath);
     if (!self::isSupportedGD()) {
         throw new GDNotInstalledException();
     }
     $imageInfo = $image->getImageInfo();
     if (!is_array($imageInfo)) {
         throw new InvalidFileException($filePath);
     }
     $mimeType = $imageInfo['mime'];
     switch ($mimeType) {
         case self::JPEG:
             return new AcImageJPG($filePath);
         case self::PNG:
             return new AcImagePNG($filePath);
         case self::GIF:
             return new AcImageGIF($filePath);
         default:
             throw new InvalidFileException($filePath);
     }
 }