12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- <?php
- namespace fphammerle\helpers;
- class Image
- {
- protected $resource = null;
- private function __construct()
- {
- }
- public function __destruct()
- {
- if($this->resource) {
- imagedestroy($this->resource);
- }
- }
- /**
- * @param string $path
- * @return Image
- */
- public static function fromFile($path)
- {
- switch(exif_imagetype($path)) {
- case IMAGETYPE_JPEG:
- $image = new self;
- $image->resource = imagecreatefromjpeg($path);
- return $image;
- default:
- throw new \InvalidArgumentException("type of '$path' is not supported");
- }
- }
- /**
- * @param float $angle
- * @return void
- */
- public function rotate($angle)
- {
- $resource = imagerotate($this->resource, $angle, 0);
- imagedestroy($this->resource);
- $this->resource = $resource;
- }
- /**
- * @param string $path
- * @return void
- */
- public function saveJpeg($path)
- {
- imagejpeg($this->resource, $path);
- }
- }
|