433 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			433 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Gregwar\Image\Adapter;
 | |
| 
 | |
| use Gregwar\Image\Image;
 | |
| 
 | |
| class Imagick extends Common
 | |
| {
 | |
|     public function __construct()
 | |
|     {
 | |
|         throw new \Exception('Imagick is not supported right now');
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Gets the name of the adapter.
 | |
|      *
 | |
|      * @return string
 | |
|      */
 | |
|     public function getName()
 | |
|     {
 | |
|         return 'ImageMagick';
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Image width.
 | |
|      *
 | |
|      * @return int
 | |
|      */
 | |
|     public function width()
 | |
|     {
 | |
|         // TODO: Implement width() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Image height.
 | |
|      *
 | |
|      * @return int
 | |
|      */
 | |
|     public function height()
 | |
|     {
 | |
|         // TODO: Implement height() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Save the image as a gif.
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function saveGif($file)
 | |
|     {
 | |
|         // TODO: Implement saveGif() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Save the image as a png.
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function savePng($file)
 | |
|     {
 | |
|         // TODO: Implement savePng() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Save the image as a jpeg.
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function saveJpeg($file, $quality)
 | |
|     {
 | |
|         // TODO: Implement saveJpeg() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Crops the image.
 | |
|      *
 | |
|      * @param int $x      the top-left x position of the crop box
 | |
|      * @param int $y      the top-left y position of the crop box
 | |
|      * @param int $width  the width of the crop box
 | |
|      * @param int $height the height of the crop box
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function crop($x, $y, $width, $height)
 | |
|     {
 | |
|         // TODO: Implement crop() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Fills the image background to $bg if the image is transparent.
 | |
|      *
 | |
|      * @param int $background background color
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function fillBackground($background = 0xffffff)
 | |
|     {
 | |
|         // TODO: Implement fillBackground() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Negates the image.
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function negate()
 | |
|     {
 | |
|         // TODO: Implement negate() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Changes the brightness of the image.
 | |
|      *
 | |
|      * @param int $brightness the brightness
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function brightness($brightness)
 | |
|     {
 | |
|         // TODO: Implement brightness() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Contrasts the image.
 | |
|      *
 | |
|      * @param int $contrast the contrast [-100, 100]
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function contrast($contrast)
 | |
|     {
 | |
|         // TODO: Implement contrast() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Apply a grayscale level effect on the image.
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function grayscale()
 | |
|     {
 | |
|         // TODO: Implement grayscale() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Emboss the image.
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function emboss()
 | |
|     {
 | |
|         // TODO: Implement emboss() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Smooth the image.
 | |
|      *
 | |
|      * @param int $p value between [-10,10]
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function smooth($p)
 | |
|     {
 | |
|         // TODO: Implement smooth() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Sharps the image.
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function sharp()
 | |
|     {
 | |
|         // TODO: Implement sharp() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Edges the image.
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function edge()
 | |
|     {
 | |
|         // TODO: Implement edge() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Colorize the image.
 | |
|      *
 | |
|      * @param int $red   value in range [-255, 255]
 | |
|      * @param int $green value in range [-255, 255]
 | |
|      * @param int $blue  value in range [-255, 255]
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function colorize($red, $green, $blue)
 | |
|     {
 | |
|         // TODO: Implement colorize() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * apply sepia to the image.
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function sepia()
 | |
|     {
 | |
|         // TODO: Implement sepia() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Merge with another image.
 | |
|      *
 | |
|      * @param Image $other
 | |
|      * @param int   $x
 | |
|      * @param int   $y
 | |
|      * @param int   $width
 | |
|      * @param int   $height
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function merge(Image $other, $x = 0, $y = 0, $width = null, $height = null)
 | |
|     {
 | |
|         // TODO: Implement merge() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Rotate the image.
 | |
|      *
 | |
|      * @param float $angle
 | |
|      * @param int   $background
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function rotate($angle, $background = 0xffffff)
 | |
|     {
 | |
|         // TODO: Implement rotate() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Fills the image.
 | |
|      *
 | |
|      * @param int $color
 | |
|      * @param int $x
 | |
|      * @param int $y
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function fill($color = 0xffffff, $x = 0, $y = 0)
 | |
|     {
 | |
|         // TODO: Implement fill() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * write text to the image.
 | |
|      *
 | |
|      * @param string $font
 | |
|      * @param string $text
 | |
|      * @param int    $x
 | |
|      * @param int    $y
 | |
|      * @param int    $size
 | |
|      * @param int    $angle
 | |
|      * @param int    $color
 | |
|      * @param string $align
 | |
|      */
 | |
|     public function write($font, $text, $x = 0, $y = 0, $size = 12, $angle = 0, $color = 0x000000, $align = 'left')
 | |
|     {
 | |
|         // TODO: Implement write() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Draws a rectangle.
 | |
|      *
 | |
|      * @param int  $x1
 | |
|      * @param int  $y1
 | |
|      * @param int  $x2
 | |
|      * @param int  $y2
 | |
|      * @param int  $color
 | |
|      * @param bool $filled
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function rectangle($x1, $y1, $x2, $y2, $color, $filled = false)
 | |
|     {
 | |
|         // TODO: Implement rectangle() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Draws a rounded rectangle.
 | |
|      *
 | |
|      * @param int  $x1
 | |
|      * @param int  $y1
 | |
|      * @param int  $x2
 | |
|      * @param int  $y2
 | |
|      * @param int  $radius
 | |
|      * @param int  $color
 | |
|      * @param bool $filled
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function roundedRectangle($x1, $y1, $x2, $y2, $radius, $color, $filled = false)
 | |
|     {
 | |
|         // TODO: Implement roundedRectangle() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Draws a line.
 | |
|      *
 | |
|      * @param int $x1
 | |
|      * @param int $y1
 | |
|      * @param int $x2
 | |
|      * @param int $y2
 | |
|      * @param int $color
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function line($x1, $y1, $x2, $y2, $color = 0x000000)
 | |
|     {
 | |
|         // TODO: Implement line() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Draws an ellipse.
 | |
|      *
 | |
|      * @param int  $cx
 | |
|      * @param int  $cy
 | |
|      * @param int  $width
 | |
|      * @param int  $height
 | |
|      * @param int  $color
 | |
|      * @param bool $filled
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function ellipse($cx, $cy, $width, $height, $color = 0x000000, $filled = false)
 | |
|     {
 | |
|         // TODO: Implement ellipse() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Draws a circle.
 | |
|      *
 | |
|      * @param int  $cx
 | |
|      * @param int  $cy
 | |
|      * @param int  $r
 | |
|      * @param int  $color
 | |
|      * @param bool $filled
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function circle($cx, $cy, $r, $color = 0x000000, $filled = false)
 | |
|     {
 | |
|         // TODO: Implement circle() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Draws a polygon.
 | |
|      *
 | |
|      * @param array $points
 | |
|      * @param int   $color
 | |
|      * @param bool  $filled
 | |
|      *
 | |
|      * @return $this
 | |
|      */
 | |
|     public function polygon(array $points, $color, $filled = false)
 | |
|     {
 | |
|         // TODO: Implement polygon() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      *  {@inheritdoc}
 | |
|      */
 | |
|     public function flip($flipVertical, $flipHorizontal)
 | |
|     {
 | |
|         // TODO: Implement flip method
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Opens the image.
 | |
|      */
 | |
|     protected function openGif($file)
 | |
|     {
 | |
|         // TODO: Implement openGif() method.
 | |
|     }
 | |
| 
 | |
|     protected function openJpeg($file)
 | |
|     {
 | |
|         // TODO: Implement openJpeg() method.
 | |
|     }
 | |
| 
 | |
|     protected function openPng($file)
 | |
|     {
 | |
|         // TODO: Implement openPng() method.
 | |
|     }
 | |
| 
 | |
|     protected function openWebp($file)
 | |
|     {
 | |
|         // TODO: Implement openWebp() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Creates an image.
 | |
|      */
 | |
|     protected function createImage($width, $height)
 | |
|     {
 | |
|         // TODO: Implement createImage() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Creating an image using $data.
 | |
|      */
 | |
|     protected function createImageFromData($data)
 | |
|     {
 | |
|         // TODO: Implement createImageFromData() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Resizes the image to an image having size of $target_width, $target_height, using
 | |
|      * $new_width and $new_height and padding with $bg color.
 | |
|      */
 | |
|     protected function doResize($bg, $target_width, $target_height, $new_width, $new_height)
 | |
|     {
 | |
|         // TODO: Implement doResize() method.
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Gets the color of the $x, $y pixel.
 | |
|      */
 | |
|     protected function getColor($x, $y)
 | |
|     {
 | |
|         // TODO: Implement getColor() method.
 | |
|     }
 | |
| }
 |