robotkudos/rkimage

Laravel 的图片缩放器和水印工具。

0.1.0 2020-08-05 17:47 UTC

This package is auto-updated.

Last update: 2024-09-15 06:23:10 UTC


README

Laravel 的图片缩放器和水印工具。

安装

composer require robotkudos/rkimage

使用

<?php
use RobotKudos\RKImage\ImageUploader;
use RobotKudos\RKImage\Size;
use RobotKudos\RKImage\Watermark;
use RobotKudos\RKImage\Position;

Route::post('/', function(Request $request) {
    $imageUploader = new ImageUploader();
    // With watermark image, watermark images should be in resources folder (below: resources/img/logo-watermark-light.png)
    $watermark = new Watermark(Position::BottomRight, 'img/logo-watermark-light.png', 'img/logo-watermark-light-x2.png');
    // save returns array of two files saved, if no retina requested, it'll be null
    return var_dump($imageUploader->save($request->myimage->path(), new Size(1500), $watermark));
    // ["image_url"] => "img/image_5f2aeaccc5a110.52811690.jpg" 
    // ["image_url_retina"]=> string(37) "img/image_5f2aeacd2086e3.79326949.jpg"
})

文档

ImageUploader 类

new ImageUploader($saveRetina = true, $pathToSave = 'img/')

创建一个新的 ImageUploader 类。

bool $saveRetina 对于更高分辨率的屏幕,将以两倍大小保存图像的另一个版本。

string $pathToSave 保存图像的路径。必须以 / 结尾

save()

save($path, Size $size, Watermark $watermark = null, Size $thumb = null, $quality = 80)

将图像保存到公共文件夹,返回保存文件的完整路径数组。

string $path 要保存的图像的路径。大多数情况下,应该是 $request->yourInputName->path()

Size $size 要保存的图像大小。这是对于正常像素大小,对于视网膜屏幕,它将自动加倍。new Size($width, $height)

Watermark $watermark 如果需要添加水印,如果不需要水印,则发送 null。new Watermark($pos, $watermarkImagePath = null, $retinaWatermarkImagePath = null, $text = null, Font $font = null)

Size $thumb 缩略图的大小,如果不需要缩略图,则为 null。如果指定了在类创建时创建视网膜缩略图。

$quality 图像质量。