mirror of
https://gitee.com/ulthon/ulthon_information.git
synced 2026-03-03 16:24:28 +08:00
完善水印处理
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
namespace app\common\tools;
|
||||
|
||||
use Intervention\Image\Exception\NotReadableException;
|
||||
use Intervention\Image\Exception\NotSupportedException;
|
||||
use Intervention\Image\Image as ImageImage;
|
||||
use Intervention\Image\ImageManagerStatic;
|
||||
use SplFileInfo;
|
||||
@@ -9,16 +11,15 @@ use think\facade\App;
|
||||
|
||||
class Image
|
||||
{
|
||||
public static function addWatermark(SplFileInfo $file, $watermark_str = 'phpreturn.com'):ImageImage
|
||||
public static function addWatermark(SplFileInfo $file, $watermark_str = 'phpreturn.com'):ImageImage|bool
|
||||
{
|
||||
// 检查文件是否是图片
|
||||
if (!in_array($file->getExtension(), ['jpg', 'jpeg', 'png', 'gif'])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
ImageManagerStatic::configure(['driver' => 'imagick']);
|
||||
|
||||
$img = ImageManagerStatic::make($file->getPathname());
|
||||
try {
|
||||
$img = ImageManagerStatic::make($file->getPathname());
|
||||
} catch (NotReadableException|NotSupportedException $th) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$font_size = 20;
|
||||
|
||||
@@ -58,6 +59,9 @@ class Image
|
||||
$watermarked_file_save_name = '/upload/watermark/' . $src_md5 . '.' . $src_file->getExtension();
|
||||
}
|
||||
|
||||
// 如果以jpe结尾,转换为jpg
|
||||
$watermarked_file_save_name = str_replace('.jpe', '.jpg', $watermarked_file_save_name);
|
||||
|
||||
$watermarked_file = App::getRootPath() . '/public' . $watermarked_file_save_name;
|
||||
|
||||
if (file_exists($watermarked_file)) {
|
||||
@@ -68,7 +72,14 @@ class Image
|
||||
mkdir(dirname($watermarked_file), 0777, true);
|
||||
}
|
||||
|
||||
static::addWatermark($src_file, $watermark_text)->save($watermarked_file);
|
||||
$img = static::addWatermark($src_file, $watermark_text);
|
||||
|
||||
if ($img) {
|
||||
$img->save($watermarked_file);
|
||||
} else {
|
||||
// 把图片复制到新的位置
|
||||
copy($src, $watermarked_file);
|
||||
}
|
||||
|
||||
return $watermarked_file_save_name;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user