Obrázek

Varianty změny velikosti obrázku

Typované definice obrázku vytvářejí deterministické varianty a při dalším requestu použijí výstup z cache.

Originál

Zdrojová fotografie krajiny
Rozměry
1536 × 1024
Výstupní formát
PNG
Pozadí
Zdrojové pixely

256 × 256 · Oříznout na střed

256 × 256 · Oříznout na střed
Rozměry
256 × 256
Režim
Oříznout na střed
Pravidlo změny velikosti
Pouze zmenšit
Výstupní formát
WEBP
Pozadí
Průhledné

800 × 450 · Přizpůsobit celý obraz

800 × 450 · Přizpůsobit celý obraz
Rozměry
800 × 450
Režim
Přizpůsobit celý obraz
Pravidlo změny velikosti
Pouze zmenšit
Výstupní formát
WEBP
Pozadí
#172033
image/resize.php
<?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'));