示例#1
0
 /**
  * Gibt die Version eines Bildes, die mit einer Transformation erzeugt werden kann zurück
  *
  * Das Bild wird automatisch gecached oder aus dem cache gelesen / oder in den Cache eingefügt
  * @param string $type muss als transformation und als cacheAdapter registriert sein
  * @return ImagineImage
  */
 public function getVersion(Image $image, $type, array $arguments = array(), array $options = array())
 {
     $this->attach($image);
     $ca = $this->getCacheAdapter($type);
     $keys = $ca->convertArguments($arguments);
     array_unshift($keys, $type);
     //$version zu den Cache-Keys hinzufügen
     $loaded = FALSE;
     $imageVersion = $this->loadVersion($image, $keys, $loaded, $options);
     if (!$loaded) {
         $tf = $this->getTransformation($type);
         try {
             $imageVersion = $tf->processArguments($image->getImagineImage(), $arguments, $options);
         } catch (\Exception $e) {
             throw new ProcessingException('Fehler beim Convertieren von Bild: ' . $image->getSourcePath() . "\n" . 'Transformation: ' . Code::getClass($tf) . ' ' . Code::varInfo($arguments) . "\n" . "Memory Usage: " . Code::getMemoryUsage() . "\n" . $e->getMessage(), 0, $e);
         }
         $this->storeVersion($image, $imageVersion, $type, $arguments, $options);
     }
     return $imageVersion;
 }
示例#2
0
 public function testGetMemoryUsageAcceptance()
 {
     $this->assertRegexp('/[0-9]+\\.[0-9]+ MB/', Code::getMemoryUsage());
 }