generated from Nodarx/template
feat: add backgound to previews
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
@@ -76,6 +76,19 @@ final class Provider implements PreviewProviderInterface
|
||||
}
|
||||
$image->setResolution(96, 96);
|
||||
$image->readImage('pdf:' . stream_get_meta_data($file)['uri'] . '[0]');
|
||||
// Treat transparent PDF areas as paper in every output format.
|
||||
$image->setImageBackgroundColor('white');
|
||||
$image->setImageAlphaChannel(Imagick::ALPHACHANNEL_REMOVE);
|
||||
// Scale the inset outline so it remains about one pixel after resizing.
|
||||
$stroke = max($image->getImageWidth() / $request->maxWidth, $image->getImageHeight() / $request->maxHeight, 1);
|
||||
$outline = new \ImagickDraw();
|
||||
$outline->setFillColor('transparent');
|
||||
$outline->setStrokeColor('#b8b8b8');
|
||||
$outline->setStrokeWidth($stroke);
|
||||
$outline->rectangle($stroke / 2, $stroke / 2,
|
||||
$image->getImageWidth() - $stroke / 2, $image->getImageHeight() - $stroke / 2);
|
||||
$image->drawImage($outline);
|
||||
$outline->clear();
|
||||
$image->setImageFormat('png');
|
||||
$png = $image->getImageBlob();
|
||||
return $this->images->generate(new PreviewSource(
|
||||
|
||||
Reference in New Issue
Block a user