maximumadvertising/laravel-image-resize

Dynamically resize an image and returns the URL using Intervention and Storage

1.1.1 2020-12-04 08:09 UTC

This package is auto-updated.

Last update: 2024-04-04 15:12:19 UTC


README

Dynamically resize an image and returns the URL using Intervention and Storage

Latest Stable Version Latest Unstable Version

Require

  • Laravel 5 or 6
  • Intervention Image ^2.4

Supported Filesystem Drivers

  • Local
  • S3
  • Oss (Aliyun Cloud Storage)

Installation

This package can be installed through Composer.

composer require maximumadvertising/laravel-image-resize

For Laravel 5.4 and lower, you'll have to register the service provider and alias manually.

Add to service providers

Mxmm\ImageResize\ImageResizeServiceProvider::class,

And alias

'ImageResize' => Mxmm\ImageResize\Facade::class,	

Publish config and assets (Optional)

php artisan vendor:publish --provider="Mxmm\ImageResize\ImageResizeServiceProvider"

Usage

Accepted parameters:

/**
 * @param string|null $path
 * @param int|null $width
 * @param int|null $height
 * @param string $action
 * @return string
 */
public static function url(string $path = null, int $width = null, int $height = null, string $action = 'fit'): string

In HTML:

<img src="{{ ImageResize::url('originalDir/filename.jpg', width, height, [action]) }}" />

Fit (resize & crop) an image to 200x200px

<img src="{{ ImageResize::url('originalDir/filename.jpg', 200, 200, 'fit') }}" />

Resize an image to 200x200px

<img src="{{ ImageResize::url('originalDir/filename.jpg', 200, 200, 'resize') }}" />

Fit (resize & crop) an image to 200px width, with auto height

<img src="{{ ImageResize::url('originalDir/filename.jpg', 200, null, 'fit') }}" />

sample output

<img src="https://localhost/thumbs/originalDir/fit/200x200/filename.jpg" />

Tests

Run tests with:

vendor/bin/phpunit