Originál

- Rozměry
- 1536 × 1024
- Výstupní formát
- PNG
- Pozadí
- Zdrojové pixely
Typované definice obrázku vytvářejí deterministické varianty a při dalším requestu použijí výstup z cache.



<?php
use Lemonade\Framework\Image\ImageViewOptions;
use Lemonade\Framework\Image\Value\ImageAsset;
use Lemonade\Framework\Image\Value\ImageBackground;
use Lemonade\Framework\Image\Value\ImageDimensions;
use Lemonade\Framework\Image\Value\ImageFormat;
use Lemonade\Framework\Image\Value\ImageQuality;
use Lemonade\Framework\Image\Value\ImageOriginalReference;
use Lemonade\Framework\Image\Value\ImageOriginalStorage;
use Lemonade\Framework\Image\Value\ImageScalePolicy;
use Lemonade\Framework\Image\Value\ImageVariantDefinition;
use Lemonade\Framework\Image\Value\ImageVariantMode;
$original = new ImageOriginalReference(
storage: ImageOriginalStorage::Upload,
relativePath: 'examples/image/source-landscape.png',
sourceVersion: 'landscapev1',
format: ImageFormat::Png,
dimensions: new ImageDimensions(1536, 1024),
);
$asset = new ImageAsset('example_landscape', $original);
$cover = new ImageVariantDefinition(
dimensions: new ImageDimensions(256, 256),
format: ImageFormat::Webp,
quality: ImageQuality::fromInt(82),
background: ImageBackground::transparent(),
mode: ImageVariantMode::CenterCover,
scalePolicy: ImageScalePolicy::DownscaleOnly,
);
$contain = new ImageVariantDefinition(
dimensions: new ImageDimensions(800, 450),
format: ImageFormat::Webp,
quality: ImageQuality::fromInt(82),
background: ImageBackground::color('#172033'),
mode: ImageVariantMode::Contain,
scalePolicy: ImageScalePolicy::DownscaleOnly,
);
$coverReference = $variants->generate($asset, $cover);
$containReference = $variants->generate($asset, $contain);
echo $helpers->image($coverReference, new ImageViewOptions(alt: 'Center-cover landscape'));