我有一个网站,用户可以上传图片。我使用CodeIgniter Image Manipulation类直接处理这些图像,并将它们调整为5种其他格式。我通过以下方式高效地完成此操作:
现在,只剩下一个挑战。我想使用90%的质量压缩原始文件,但不改变其大小。想法是该文件也会减半。我想我可以将其调整为当前尺寸,但似乎对文件或其大小没有任何影响。这是我的代码,有些简化:
- 我总是从上一个格式调整大小,而不是从原始格式开始
- 我使用90%的图像质量进行调整大小,这大约使jpeg文件的文件大小减半
现在,只剩下一个挑战。我想使用90%的质量压缩原始文件,但不改变其大小。想法是该文件也会减半。我想我可以将其调整为当前尺寸,但似乎对文件或其大小没有任何影响。这是我的代码,有些简化:
$sourceimage = "test.jpg";
$resize_settings['image_library'] = 'gd2';
$resize_settings['source_image'] = $sourceimage;
$resize_settings['maintain_ratio'] = false;
$resize_settings['quality'] = '90%';
$this->load->library('image_lib', $resize_settings);
$resize_settings['width'] = $imagefile['width'];
$resize_settings['height'] = $imagefile['height'];
$resize_settings['new_image'] = $filename;
$this->image_lib->initialize($resize_settings);
$this->image_lib->resize();
除原始格式外,上述代码适用于所有格式。我尝试调试CI类,看看为什么没有任何反应,我注意到脚本检测到尺寸没有改变。接下来,它只是复制那个文件而没有进行任何处理。我注释掉了那段代码以强制它进行调整大小,但现在仍然没有任何反应。
有人知道如何使用CI类将图像(任何图像,不仅仅是jpeg)压缩到90%而不改变尺寸吗?