/** * @param \_OurBrand_\Quiz\Media\Domain\Model\ImageResource $image * @param array $processingInstructions * @return \_OurBrand_\Quiz\Media\Domain\Model\ImageResource */ public function transformImage(\_OurBrand_\Quiz\Domain\Model\ImageResource $image, array $processingInstructions) { if (is_a($image->getOriginalResource(), '\\TYPO3\\Flow\\Resource\\Resource')) { $uniqueHash = sha1($image->getOriginalResource()->getResourcePointer()->getHash() . '|' . serialize($processingInstructions)); if (!file_exists('resource://' . $uniqueHash)) { $imagine = $this->objectManager->get('Imagine\\Image\\ImagineInterface'); $imagineImage = $imagine->open('resource://' . $image->getOriginalResource()->getResourcePointer()->getHash()); $imagineImage = $this->applyProcessingInstructions($imagineImage, $processingInstructions); file_put_contents('resource://' . $uniqueHash, $imagineImage->get($image->getFileExtension(), array('quality' => 90))); } $resource = new \TYPO3\Flow\Resource\Resource(); $resource->setFilename($image->getOriginalResource()->getFilename()); $resource->setResourcePointer(new \TYPO3\Flow\Resource\ResourcePointer($uniqueHash)); return $resource; } }