最佳PHP图像裁剪类

hs1ihplo  于 2023-03-28  发布在  PHP
关注(0)|答案(9)|浏览(125)

我正在设计一个网站,我需要:

  • 上传图片
  • 验证它是一个图像(而不是,哦,我不知道......病毒:)
  • 调整图像大小
  • 转换为jpg
  • 基本的图像上传 *

我没有自己编写,而是尝试找到一个PHP类,让我可以完成所有这些工作,因为正如Jeff Atwood所说,"never design what you can steal"
到目前为止,我发现:

有没有人对这些课程有经验?你能推荐一个优秀的图像上传课程吗?

332nm8kg

332nm8kg1#

我个人最喜欢的图像处理库是WideImage。它使得做这类任务非常容易。

WideImage::load('pic.png')
->crop('center', 'center', 90, 50)->saveToFile('cropped/pic.jpg');

至于验证它是否实际上是一个图像,使用finfoPEAR::Mime_type。我个人更喜欢PEAR::Mime_Type。它使用finfo,但它更容易使用。

  • 使用finfo:*
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $filename);

$isImage = (preg_match('#^image/#', $mimetype) === 1);
  • 使用PEAR::Mime_Type:*
$mimetype = MIME_Type::autoDetect($filename);

$isImage = MIME_Type::wildcardMatch('image/*', $mimetype);
5sxhfpxr

5sxhfpxr2#

我倾向于使用一个框架的一个描述或另一个,其中涵盖的文件上传部分。然而,有一个建议的裁剪位:
Imagine - https://github.com/avalanche123/Imagine
如果你想让上传器比输入type=文件更好一点,试试:
https://github.com/valums/file-uploader

wvyml7n5

wvyml7n54#

Colin Verot http://www.verot.net/php_class_upload.htm上传的类是我的最爱。我在所有项目中都使用in。就像你和类“交谈”的方式,只使用你需要的东西,但提供了大量的配置/方法来调整它以满足你的确切需求。很棒的类!

ppcbkaq5

ppcbkaq55#

还有一个叫做Zebra_Imagelightweight image manipulation library written in PHP,它非常小,没有你永远不会使用的无数函数,高度优化,有一个great documentation,并且被积极维护。

8xiog9wr

8xiog9wr6#

我建议使用智能图像大小调整器http://shiftingpixel.com/2008/03/03/smart-image-resizer/

调整大小后获得最佳图像质量

它使用起来非常简单。它使用图像缓存。

tf7tbtn2

tf7tbtn27#

我推荐SimpleImage,它非常简单,只有一个文件,并已更新。
使用示例:

$img = new SimpleImage('image.jpg');

// Resize the image to 320x200
$img->resize(320, 200);

$img->save('new-image.jpg');
n3schb8v

n3schb8v8#

如果您愿意迁移到MVC PHP框架,我强烈推荐Codeigniter
除了其他几个处理分页、表格、安全、表单等的类和库之外,CI还有很好的上传和图像处理类,非常方便和灵活。我相信它们可以完成你所需要的一切(只是不确定jpg转换)。
您可以在以下网址查看它们:
Image manipulation class
File uploading class

von4xj4u

von4xj4u9#

我正在使用这个图像作物,它工作得很好
Simple PHP Image cCrop

相关问题