/** * * @param $language Sprache * für den Place-Holder-Text * @return CacheFile */ public function newCacheFileForPlaceholder($language) { $otherCacheFilename = $this->displayWidth . $this->displayHeight . "{$language}-placeholder.jpg"; $cachefile = new CacheFile($this->imageProperties(), $this->config, $this->proportion, $this->bgcolor, $this->origWidth(), $this->origHeight()); $cachefile->setDisplaySize($this->displayWidth, $this->displayHeight); $cachefile->cacheFilename = $this->scrambleFilename($otherCacheFilename, $this->config->getScrambleFilename()); return $cachefile; }
private function getResizedImage(ImageDisplayProperties $imageProperties, $thumbnailMode = false, $bgcolor = 0xff0000) { if ($thumbnailMode) { $proportion = 'bestfit'; } else { $proportion = $this->config->getImageProportions(); } $cacheFile = new CacheFile($imageProperties, $this->config, $proportion, $bgcolor); $cacheFileName = $cacheFile->getAbsoluteCacheFile(); if (file_exists($cacheFileName) && filemtime($cacheFileName) > filemtime($cacheFile->getAbsoluteFile())) { // TODO das folgende ist etwas Magie: Bei auto-Breite wird das Bild ansonsten mit Breite 0 dargestellt $size = @getimagesize($cacheFile->getAbsoluteCacheFile()); $cacheFile->setDisplaySize($size[0], $size[1]); return $cacheFile; } else { return $this->generateResizedImage($cacheFile, $proportion, $thumbnailMode, $bgcolor); } }