private function createInstance($file, $w = null, $h = null)
{
$container = $this->container;
$webDir = $container->getParameter('gregwar_image.web_dir');
$handlerClass = $this->handlerClass;
/** @var ImageHandler $image */
$image = new $handlerClass($file, $w, $h, $this->throwException, $this->fallbackImage);
$image->setCacheDir($this->cacheDirectory);
$image->setCacheDirMode($this->cacheDirMode);
$image->setActualCacheDir($webDir . '/' . $this->cacheDirectory);
if ($container->has('templating.helper.assets')) {
$image->setFileCallback(function ($file) use($container) {
return $container->get('templating.helper.assets')->getUrl($file);
});
} else {
$image->setFileCallback(function ($file) use($container) {
return $container->get('assets.packages')->getUrl($file);
});
}
return $image;
}