我有一个项目,我需要选择其中包含图片的整个文件夹,然后对文件夹内的所有图片进行转换。类似于 Photoshop 中用于大量图片调整的脚本之类的东西。
问问题
691 次
4 回答
2
检查 PHP 的scandir()函数
遍历目录的结果并对每个项目进行图像处理。
于 2013-02-15T13:38:03.777 回答
1
好吧,CodeIgniters Manual确实有一些辅助函数,但我自己并没有使用它们。
就个人而言,我更喜欢使用PHP 提供的DirectoryIterator 。将其与CodeIgniters Image Manipulation Class相结合,您可以对图像处理进行一些非常漂亮的处理:
$images = array("jpg", "png", "bmp"); // Just to make sure that we get image files
foreach(new DirectoryIterator("/path/to/images/") as $file)
{
if( $file->isFile() && in_array($file->getExtension(), $images) )
{
$config['image_library'] = 'imagemagick';
$config['library_path'] = 'usr/bin/local/';
$config['source_image'] = $file->getPathname();
$config['new_image'] = $file->getPathname(); //Overwriting the source image
$config['maintain_ratio'] = TRUE;
$config['width'] = 75;
$config['height'] = 50;
$this->load->library('image_lib', $config);
$this->image_lib->resize();
}
}
或者做一些你自己选择的图像处理。
于 2013-02-15T20:17:24.957 回答
1
如果您使用的是 linux,则可以使用 ImageMagick 的 mogrify 命令批量编辑图像。
示例:mogrify -resize 150x150 *.jpg 结果:所有图像都调整为 150x150
还有一个 PHP 类处理 PEAR 中的 ImageMagick 功能。
于 2013-02-22T19:20:19.493 回答
0
我认为没有可以执行多个图像处理的功能。但是您可以使用 glob() 选择文件,然后循环执行您的过程?
于 2013-02-15T13:36:38.067 回答