示例#1
0
 /**
  * @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;
     }
 }