evertecdigital/imageflex

动态图像调整大小管理器

1.0.1 2024-07-02 21:28 UTC

This package is auto-updated.

Last update: 2024-09-04 16:54:50 UTC


README

Maintainer Source Code PHP from Packagist Latest Version Issues Pull Requests Software License Total Downloads

ImageFlex 是一个使用 GD 库进行图像管理和处理的 PHP 类。它允许调整图像大小,添加水印,并保留原始图像的透明度。

功能

  • 保持原始比例调整图像大小
  • 可配置位置和透明度的水印
  • 保留 PNG 和 GIF 图像的透明度
  • 支持多种图像格式:JPEG、PNG、GIF 和 WEBP
  • 缓存系统以提高性能

要求

  • PHP 7.4 或更高版本
  • PHP 中启用了 GD 扩展

安装

通过 composer

"evertecdigital/imageflex": "1.0.*"

或执行

composer require evertecdigital/imageflex

使用

基本配置

// Inclua a classe imageflex
require_once 'imageflex.php';

// Configure a classe imageflex
imageflex::setOutputFormat('auto'); // Formato de saída automático (igual ao da imagem original)
imageflex::setQuality(85); // Qualidade de 85 para imagens JPEG e WEBP
imageflex::setCompression(6); // Nível de compressão de 6 para imagens PNG

$imagePath = 'images/example.jpg';

// Redimensione a imagem
$resizedImagePath = imageflex::resize($imagePath, 800, 600);

if ($resizedImagePath) {
    echo 'Imagem redimensionada e salva em: ' . $resizedImagePath;
} else {
    echo 'Erro ao redimensionar a imagem: ' . implode(', ', imageflex::getErrors());
}

直接在 HTML 标签中

直接在 HTML 标签中使用以简化。

<img src="<?= imageflex::resize($imagePath, 800, 600);?>">

添加水印

$watermarkPath = 'images/watermark.png';

// Configure a marca d'água
imageflex::setWatermark($watermarkPath); // Defina a imagem da marca d'água
imageflex::setWatermarkOpacity(50); // Defina a opacidade da marca d'água para 50%
imageflex::setWatermarkPosition('bottom right'); // Defina a posição da marca d'água para canto inferior direito

// Redimensione a imagem e aplique a marca d'água
$resizedImagePath = imageflex::resize($imagePath, 800, 600);

if ($resizedImagePath) {
    echo 'Imagem redimensionada e salva em: ' . $resizedImagePath;
} else {
    echo 'Erro ao redimensionar a imagem: ' . implode(', ', imageflex::getErrors());
}

清除缓存

如果需要,可以创建一个定期清理缓存目录的脚本。

// Limpar todas as imagens em cache
imageflex::clearCache();

可用方法

贡献

请参阅CONTRIBUTING 获取更多详细信息。

鸣谢

许可

MIT 许可(MIT)。有关更多信息,请参阅许可文件