最佳PHP图像裁剪类

时间:2011-06-23 21:03:48

标签: php image class image-processing

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

  • 上传图片
  • 验证它是一张图片(不是哦,我不知道......病毒:))
  • 调整图片大小
  • 转换为jpg

基本上是基本的图片上传

而不是写我自己的,我试图找到一个 php 类让我做这一切,因为正如Jeff Atwood所说,"never design what you can steal"

现在,在你继续前进并投票,因为我没有做我的研究,我做了:

谷歌搜索会带来大量的结果,这就是问题,我不知道哪些结果有用,哪些是垃圾!

到目前为止,我发现:

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

9 个答案:

答案 0 :(得分:17)

我个人最喜欢的图片处理库是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);

答案 1 :(得分:13)

我倾向于使用一个或另一个描述的框架,其中包括文件上传部分。但是,确实有裁剪位的建议:

想象一下 - https://github.com/avalanche123/Imagine

如果你想让上传器比输入类型=文件好一点,试试:

https://github.com/valums/file-uploader

答案 2 :(得分:5)

查看JCROP插件

这对所有

都很有用

JCROP Image cropping----deepliquid.com/content/Jcrop.html

enter image description here

答案 3 :(得分:4)

来自Colin Verot http://www.verot.net/php_class_upload.htm的课程上传是我的最爱。我在所有项目中使用。就像你与班级“谈话”并只使用你需要的方式一样,但提供了大量的配置/方法来根据你的确切需要进行调整。好班!

答案 4 :(得分:4)

还有这个名为 Zebra_Image lightweight image manipulation library written in PHP,它非常小,没有臃肿的功能,你永远不会使用,高度优化,有great documentation且积极主动保持。

答案 5 :(得分:2)

我建议使用Smart Image Resizer http://shiftingpixel.com/2008/03/03/smart-image-resizer/

调整大小后,您可以获得最佳图像质量

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

答案 6 :(得分:2)

我推荐SimpleImage,它非常简单,只有一个文件并且已更新。

使用示例:

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

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

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

答案 7 :(得分:1)

如果您愿意迁移到MVC PHP框架,我强烈推荐Codeigniter

除了处理分页,表格,安全性,表单等的其他几个类和库之外,CI还具有非常方便和灵活的上传和图像处理类。 我相信他们可以做你所需要的一切(只是不确定jpg转换)。

您可以在以下网址查看:

Image manipulation class

File uploading class

答案 8 :(得分:0)

我正在使用此图片裁剪,它运作良好

Simple PHP Image cCrop