/** * Calculate new dimensions for SVG image * No cropping, if cropped info present image is scaled down * * @param Resource\FileInterface $file * @param array $configuration * @param array $options * @param GifBuilder $gifBuilder * @return array width,height */ protected function getNewSvgDimensions($file, array $configuration, array $options, GifBuilder $gifBuilder) { $info = array($file->getProperty('width'), $file->getProperty('height')); $data = $gifBuilder->getImageScale($info, $configuration['width'], $configuration['height'], $options); // Turn cropScaling into scaling if ($data['crs']) { if (!$data['origW']) { $data['origW'] = $data[0]; } if (!$data['origH']) { $data['origH'] = $data[1]; } if ($data[0] > $data['origW']) { $data[1] = (int) ($data['origW'] * $data[1] / $data[0]); $data[0] = $data['origW']; } else { $data[0] = (int) ($data['origH'] * $data[0] / $data[1]); $data[1] = $data['origH']; } } return array('width' => $data[0], 'height' => $data[1]); }