我正在尝试在上传后调整图片大小,但图像质量会受到影响。
我测试了两组代码:
plotOutput("plot")
和此:
$im = new imagick($filename);
$im->setImageResolution(1250,1250);
$im->setImageColorspace(255);
$im->setCompression(Imagick::COMPRESSION_JPEG);
$im->setCompressionQuality(100);
$im->setImageFormat('jpeg');
$im->writeImage('thumb.jpg');
$im->clear();
$im->destroy();
他们都不像我想的那样工作。有什么建议吗?
答案 0 :(得分:0)
对于ImageMagick和setCompressionQuality(),根据PHP文档:
此方法仅适用于新图片,例如那些通过Imagick :: newPseudoImage创建的。对于现有图像,您应该使用Imagick :: setImageCompressionQuality()。
所以setImageCompressionQuality应该可以解决问题。
对于你的GD示例:对于GD来说,75实际上相当低。什么值是合理的取决于使用的库,我建议GD至少85 - 这仍然是一个高压缩值,而质量不会受到太大影响,否则你应该把它设置得更高。如果您对图像质量有特定要求,则可能需要测试一些值。