如何将70dpi图像转换为300dpi?

时间:2014-07-03 18:25:37

标签: php image image-processing imagemagick

我正在开发一个PHP应用程序,用户将使用前端工具创建图像。

用户完成图像创建后,他/她将上传到服务器。

但是到服务器的图像只有70dpi。

我必须将其转换为300dpi图像。

用PHP脚本可以吗?

或者还有另一个php web服务器解决方案吗?

请帮帮我............

我试过这段代码......

$image = new Imagick('source.jpg');
$image->setImageResolution(300,300);
$image->resampleImage(300,300,Imagick::FILTER_UNDEFINED,1);
$image->writeImage('out.jpg');

但没有输出......根本没有结果。

2 个答案:

答案 0 :(得分:1)

使用PHP的Imagick类,您可以通过设置分辨率和扩展,将dpi从70增加到300。重新取样图像。

<?php

$image = new Imagick('source.jpg');
$image->setImageResolution(300,300);
$image->resampleImage(300,300,Imagick::FILTER_UNDEFINED,1);
$image->writeImage('out.jpg');

虽然采样可能无法提高图像质量。

答案 1 :(得分:1)

@emcconville的答案有效。

尝试将数据缓存在php缓冲区中,然后打印出来。