/** * ファイル名から新規インスタンスを返す * @param string $filename * @return self */ public static function load($filename) { if (!is_file($filename)) { throw new Image\ImageException('`' . $filename . '` file not found.'); } $size = getimagesize($filename); if ($size === false) { throw new Image\ImageException('invalid file'); } $self = new self(null, null); try { switch ($size[2]) { case IMAGETYPE_GIF: $self->resource(imagecreatefromgif($filename), 'gif'); break; case IMAGETYPE_JPEG: $self->resource(imagecreatefromjpeg($filename), 'jpg'); break; case IMAGETYPE_PNG: $self->resource(imagecreatefrompng($filename), 'png'); break; case IMAGETYPE_WBMP: $self->resource(imagecreatefromwbmp($filename), 'bmp'); break; default: throw new Image\ImageException(); } } catch (Image\ImageException $e) { throw new Image\ImageException('invalid data: ' . $size[2]); } catch (\Exception $e) { throw new Image\ImageException($e->getMessage()); } return $self; }
/** * ファイル名から新規インスタンスを返す * * @param string $filename * @return Image */ public static function load($filename) { $size = getimagesize($filename); if ($size === false) { throw new Exception("invalid data"); } $self = new self(); switch ($size[2]) { case IMAGETYPE_GIF: $self->resource(imagecreatefromgif($filename), IMAGETYPE_GIF); break; case IMAGETYPE_JPEG: $self->resource(imagecreatefromjpeg($filename), IMAGETYPE_JPEG); break; case IMAGETYPE_PNG: $self->resource(imagecreatefrompng($filename), IMAGETYPE_PNG); break; case IMAGETYPE_WBMP: $self->resource(imagecreatefromwbmp($filename), IMAGETYPE_WBMP); break; default: throw new Exception("invalid data"); } return $self; }