prepareImage(); $image->writeImage($file); } catch (\ImagickException $e) { echo $e->getMessage(); } } /** * @param string $file */ public function display($file) { try { $image = $this->prepareImage(); header('Content-type: image/jpeg'); echo $image; } catch (\ImagickException $e) { echo $e->getMessage(); } } /** * @return \Imagick * @throws \ImagickException */ private function prepareImage() { $file = $this->pool->getImage(); $this->files[] = $file; $image = new \Imagick($file); if ($image->getColorspace() !== \Imagick::COLORSPACE_RGB) { $image->setColorspace(\Imagick::COLORSPACE_RGB); } $size = $image->getSize(); $imagex = $size['columns']; $imagey = $size['rows']; if ($imagex !== $this->config->get('assembler.sizex') || $imagey !== $this->config->get('assembler.sizey')) { $image->thumbnailImage($this->config->get('assembler.sizex'), $this->config->get('assembler.sizey')); } if (true === $this->config->get('assembler.mirror')) { $image->flopImage(); } if (true === $this->config->get('assembler.emboss')) { $image->embossImage(0, 1); } if (true === $this->config->get('assembler.invert')) { $image->flipImage(); } return $image; } }