PHP code example of lamka02sk / picturium

1. Go to this page and download the library: Download lamka02sk/picturium library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

lamka02sk / picturium example snippets


use Picturium\Enum\Format;
use Picturium\Picturium;

use function Picturium\img;

Picturium::configure(
    url: 'https://img.example.com',
    secret: $_ENV['PICTURIUM_SECRET'],
    defaults: img()->dpr([1, 2, 3])->quality(80)->format(Format::Auto),
);

<?= img($product->photo)
    ->width(640)
    ->aspectRatio('4/3')
    ->alt($product->name)
    ->lazy() 

$image = img('photos/cat.jpg')->width(400)->dpr([1, 2]);

$image->src();        // One signed URL
$image->srcset();     // "... 1x, ... 2x"
$image->urls();       // ['1x' => '...', '2x' => '...']
$image->attributes(); // Raw attribute array for framework adapters
$image->attrs();      // Escaped attributes for an existing <img>
$image->toHtml();     // A complete <img> element

<img <?= img($product->photo)->width(400)->attrs() 

use Picturium\Enum\Format;

use function Picturium\picture;

<?= picture('hero.jpg')
    ->quality(80)
    ->dpr([1, 2])
    ->images(fn ($image) => [
        $image->maxWidth(640)->portrait()->width(640)->aspectRatio('1/1'),
        $image->minWidth(641)->format(Format::Avif)->width(1920)->height(1080),
    ])
    ->alt('A mountain at sunrise') 

use Picturium\Enum\{Anchor, Extend, Fit, Format, Gravity, Metadata, Resample, Rotate};

img('catalogue/shoes.jpg')
    ->width(800)->height(600)->aspectRatio('4/3')
    ->fit(Fit::Contain)->gravity(Gravity::Attention)->extend(Extend::Mirror)
    ->resample(Resample::Lanczos3)->upsize()->padding(10, 20)
    ->rotate(Rotate::Left)->background('111827')
    ->quality(82)->format(Format::Webp)->metadata(Metadata::Icc)
    ->crop(width: 800, height: 600, gravity: Gravity::Attention)
    ->watermark(text: 'ACME', anchor: Anchor::BottomRight, opacity: 40)
    ->download('shoes.webp');