| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- <?php
- namespace Intervention\Image\Imagick;
- class Encoder extends \Intervention\Image\AbstractEncoder
- {
- /**
- * Processes and returns encoded image as JPEG string
- *
- * @return string
- */
- protected function processJpeg()
- {
- $format = 'jpeg';
- $compression = \Imagick::COMPRESSION_JPEG;
- $imagick = $this->image->getCore();
- $imagick->setImageBackgroundColor('white');
- $imagick->setBackgroundColor('white');
- $imagick = $imagick->mergeImageLayers(\Imagick::LAYERMETHOD_MERGE);
- $imagick->setFormat($format);
- $imagick->setImageFormat($format);
- $imagick->setCompression($compression);
- $imagick->setImageCompression($compression);
- $imagick->setCompressionQuality($this->quality);
- $imagick->setImageCompressionQuality($this->quality);
- return $imagick->getImagesBlob();
- }
- /**
- * Processes and returns encoded image as PNG string
- *
- * @return string
- */
- protected function processPng()
- {
- $format = 'png';
- $compression = \Imagick::COMPRESSION_ZIP;
- $imagick = $this->image->getCore();
- $imagick->setFormat($format);
- $imagick->setImageFormat($format);
- $imagick->setCompression($compression);
- $imagick->setImageCompression($compression);
- return $imagick->getImagesBlob();
- }
- /**
- * Processes and returns encoded image as GIF string
- *
- * @return string
- */
- protected function processGif()
- {
- $format = 'gif';
- $compression = \Imagick::COMPRESSION_LZW;
- $imagick = $this->image->getCore();
- $imagick->setFormat($format);
- $imagick->setImageFormat($format);
- $imagick->setCompression($compression);
- $imagick->setImageCompression($compression);
- return $imagick->getImagesBlob();
- }
- /**
- * Processes and returns encoded image as TIFF string
- *
- * @return string
- */
- protected function processTiff()
- {
- $format = 'tiff';
- $compression = \Imagick::COMPRESSION_UNDEFINED;
- $imagick = $this->image->getCore();
- $imagick->setFormat($format);
- $imagick->setImageFormat($format);
- $imagick->setCompression($compression);
- $imagick->setImageCompression($compression);
- $imagick->setCompressionQuality($this->quality);
- $imagick->setImageCompressionQuality($this->quality);
- return $imagick->getImagesBlob();
- }
- /**
- * Processes and returns encoded image as BMP string
- *
- * @return string
- */
- protected function processBmp()
- {
- $format = 'bmp';
- $compression = \Imagick::COMPRESSION_UNDEFINED;
- $imagick = $this->image->getCore();
- $imagick->setFormat($format);
- $imagick->setImageFormat($format);
- $imagick->setCompression($compression);
- $imagick->setImageCompression($compression);
- return $imagick->getImagesBlob();
- }
- /**
- * Processes and returns encoded image as ICO string
- *
- * @return string
- */
- protected function processIco()
- {
- $format = 'ico';
- $compression = \Imagick::COMPRESSION_UNDEFINED;
- $imagick = $this->image->getCore();
- $imagick->setFormat($format);
- $imagick->setImageFormat($format);
- $imagick->setCompression($compression);
- $imagick->setImageCompression($compression);
- return $imagick->getImagesBlob();
- }
- /**
- * Processes and returns encoded image as PSD string
- *
- * @return string
- */
- protected function processPsd()
- {
- $format = 'psd';
- $compression = \Imagick::COMPRESSION_UNDEFINED;
- $imagick = $this->image->getCore();
- $imagick->setFormat($format);
- $imagick->setImageFormat($format);
- $imagick->setCompression($compression);
- $imagick->setImageCompression($compression);
- return $imagick->getImagesBlob();
- }
- }
|