public function createThumbs(array $routes, array $presets)
{
$thumbs = [];
$basePath = $basePath = Yii::getAlias($routes['basePath']);
$originalFile = pathinfo($this->url);
$dirname = $originalFile['dirname'];
$filename = $originalFile['filename'];
$extension = $originalFile['extension'];
Image::$driver = [Image::DRIVER_GD2, Image::DRIVER_GMAGICK, Image::DRIVER_IMAGICK];
foreach ($presets as $alias => $preset) {
$width = $preset['size'][0];
$height = $preset['size'][1];
$mode = isset($preset['mode']) ? $preset['mode'] : ImageInterface::THUMBNAIL_OUTBOUND;
$thumbUrl = "{$dirname}/" . $this->getThumbFilename($filename, $extension, $alias, $width, $height);
Image::thumbnail("{$basePath}/{$this->url}", $width, $height, $mode)->save("{$basePath}/{$thumbUrl}");
$thumbs[$alias] = $thumbUrl;
}
$this->thumbs = serialize($thumbs);
$this->detachBehavior('timestamp');
// create default thumbnail
$this->createDefaultThumb($routes);
return $this->save();
}