1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?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;
- }
- /**
- * @return void
- */
- public function rotateLeft()
- {
- $this->rotate(90);
- }
- /**
- * @return void
- */
- public function rotateRight()
- {
- $this->rotate(270);
- }
- /**
- * @param string $path
- * @return void
- */
- public function saveJpeg($path)
- {
- imagejpeg($this->resource, $path);
- }
- }
|