Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Contao Image Library

NotificationsYou must be signed in to change notification settings

contao/image

Repository files navigation

This library provides methods to resize images based on resize configurationsand generates responsive images to be used with<picture> andsrcset. It isused inContao to handle on-the-fly resizing of images.

Installation

php composer.phar require contao/image

Usage

Simple resize:

$imagine =new \Imagine\Gd\Imagine();$resizer =newResizer('/path/to/cache/dir');$image =newImage('/path/to/image.jpg',$imagine);$config = (newResizeConfiguration())    ->setWidth(100)    ->setHeight(100)    ->setMode(ResizeConfiguration::MODE_CROP);$options = (newResizeOptions())    ->setImagineOptions(['jpeg_quality' =>95,'interlace' => \Imagine\Image\ImageInterface::INTERLACE_PLANE,    ])    ->setBypassCache(true)    ->setTargetPath('/custom/target/path.jpg');$resizedImage =$resizer->resize($image,$config,$options);$resizedImage->getPath();// /custom/target/path.jpg$resizedImage->getUrl('/custom/target');// path.jpg$resizedImage->getUrl('/custom/target','https://example.com/');// https://example.com/path.jpg

Responsive image:

$imagine =new \Imagine\Gd\Imagine();$resizer =newResizer('/path/to/cache/dir');$pictureGenerator =newPictureGenerator($resizer);$image =newImage('/path/to/image.jpg',$imagine);$config = (newPictureConfiguration())    ->setSize((newPictureConfigurationItem())        ->setResizeConfig((newResizeConfiguration())            ->setWidth(100)            ->setHeight(100)            ->setMode(ResizeConfiguration::MODE_CROP)        )        ->setDensities('1x, 2x')        ->setSizes('100vw')    )    ->setSizeItems([        (newPictureConfigurationItem())            ->setResizeConfig((newResizeConfiguration())                ->setWidth(400)                ->setHeight(200)                ->setMode(ResizeConfiguration::MODE_CROP)            )            ->setDensities('1x, 2x')            ->setSizes('100vw')            ->setMedia('(min-width: 900px)')    ]);$options = (newResizeOptions());$picture =$pictureGenerator->generate($image,$config,$options);$picture->getImg('/path/to');/* [    'src' => 'cache/dir/4/image-de332f09.jpg',    'width' => 100,    'height' => 100,    'srcset' => 'cache/dir/4/image-de332f09.jpg 100w, cache/dir/4/image-9e0829dd.jpg 200w',    'sizes' => '100vw',] */$picture->getSources('/path/to','https://example.com/');/* [    [        'src' => 'https://example.com/cache/dir/c/image-996db4cf.jpg',        'width' => 400,        'height' => 200,        'srcset' => 'https://example.com/cache/dir/c/image-996db4cf.jpg 400w, https://example.com/cache/dir/2/image-457dc5e0.jpg 800w',        'sizes' => '100vw',        'media' => '(min-width: 900px)',    ],] */

[8]ページ先頭

©2009-2025 Movatter.jp