使用 Imagemagick 将图像 75 dpi 转换为 300 dpi PHP
convert image 75 dpi to 300 dpi using Imagemagick PHP
我正在尝试将分辨率非常低的 jp2 图像增加到更高的 DPI,以便可以看到图像而不会对我们的眼睛造成任何不便。
我已成功读取 jpeg2000 编码字符串并将其显示为 PNG 文件。 (下面是代码)
$imagedata = "AAAADGpQICANCocKAAAAFGZ0eXBqcDIgAAAAAGpwMiAAAAAtanAyaAAAABZpaGRyAAAAyAAAAKAAAwcHAAAAAAAPY29scgEAAAAAABAAAAGXanAyY/9P/1EALwAAAAAAoAAAAMgAAAAAAAAAAAAAAKAAAADIAAAAAAAAAAAAAwcBAQcBAQcBAf9SAAwAAAABAQUEBAAA/1wAI0JvGG7qbupuvGcAZwBm4l9MX0xfZEgDSANIRU/ST9JPYf9kACIAAUNyZWF0ZWQgYnk6IEpKMjAwMCB2ZXJzaW9uIDQuMf+QAAoAAAAAAQMAAf9SAAwAAAABAQUEBAAA/5PPoKgT/dHUscn3uMJWDWKb153z8hPvSInB8QsdvHSg4pzoLevV6cHhwCOWrDWed1zB8RKHyC4PEhigx/MYuIx4wci8q/CEo2kiHBrV8DhszG7ymZ/UH7atm39cdbppgIDD4VYfCrB00E+GI+Qf3v1IHzVdC6k/pMRXolANASf+TQYCTKERfZoHB65rCU23EcMzjiQo+2MAmLli7aos4tyAgMOrw6tBVpk5rPA9rz1HB6Wn+siLUizMFl3TKpn7s1pJGcCba3pGnanMUNO8OP+EwaMdppACpwb6vbqSpeUbgICAgICAgID/2Q==";
$image=base64_decode($imagedata);
// Create Imagick object
$im = new Imagick();
// Convert image into Imagick
$im->readImageBlob($image);
//Set the output format
$im->setImageFormat("png");
header('Content-type: image/png');
echo $im;
我了解到可以使用 ImageMagick 增加 DPI。看这里http://www.imagemagick.org/discourse-server/viewtopic.php?t=18241
如何在我的 PHP 脚本中实现这一点(不通过命令行)?非常感谢任何帮助和指导。
如果您查看 UK Government website for the Passport Office,上面说护照照片需要至少 600 像素宽 x 750 像素高。
让我们从 600x750 的憨豆先生的足够质量(如果不是内容)的照片开始:
如果我们现在将他的大小调整为与您的图像相同 (160x200),然后备份您会看到质量因试图以 160x200 表示图像而受到影响,您无法发明所有丢失的像素- 他们永远消失了。看看他的牙齿和眼角的高光:
convert bean.jpg -resize 160x200 -resize 600x750 result.jpg
因此,您在 Imagick 中所能做的就是:
Imagick::resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $bestfit = FALSE [, bool $legacy = FALSE ]] )
返回到 600x750 并尝试将过滤器设置为 Catrom
或 Lanczos
。但是你不能发明不存在的东西...
我正在尝试将分辨率非常低的 jp2 图像增加到更高的 DPI,以便可以看到图像而不会对我们的眼睛造成任何不便。
我已成功读取 jpeg2000 编码字符串并将其显示为 PNG 文件。 (下面是代码)
$imagedata = "AAAADGpQICANCocKAAAAFGZ0eXBqcDIgAAAAAGpwMiAAAAAtanAyaAAAABZpaGRyAAAAyAAAAKAAAwcHAAAAAAAPY29scgEAAAAAABAAAAGXanAyY/9P/1EALwAAAAAAoAAAAMgAAAAAAAAAAAAAAKAAAADIAAAAAAAAAAAAAwcBAQcBAQcBAf9SAAwAAAABAQUEBAAA/1wAI0JvGG7qbupuvGcAZwBm4l9MX0xfZEgDSANIRU/ST9JPYf9kACIAAUNyZWF0ZWQgYnk6IEpKMjAwMCB2ZXJzaW9uIDQuMf+QAAoAAAAAAQMAAf9SAAwAAAABAQUEBAAA/5PPoKgT/dHUscn3uMJWDWKb153z8hPvSInB8QsdvHSg4pzoLevV6cHhwCOWrDWed1zB8RKHyC4PEhigx/MYuIx4wci8q/CEo2kiHBrV8DhszG7ymZ/UH7atm39cdbppgIDD4VYfCrB00E+GI+Qf3v1IHzVdC6k/pMRXolANASf+TQYCTKERfZoHB65rCU23EcMzjiQo+2MAmLli7aos4tyAgMOrw6tBVpk5rPA9rz1HB6Wn+siLUizMFl3TKpn7s1pJGcCba3pGnanMUNO8OP+EwaMdppACpwb6vbqSpeUbgICAgICAgID/2Q==";
$image=base64_decode($imagedata);
// Create Imagick object
$im = new Imagick();
// Convert image into Imagick
$im->readImageBlob($image);
//Set the output format
$im->setImageFormat("png");
header('Content-type: image/png');
echo $im;
我了解到可以使用 ImageMagick 增加 DPI。看这里http://www.imagemagick.org/discourse-server/viewtopic.php?t=18241
如何在我的 PHP 脚本中实现这一点(不通过命令行)?非常感谢任何帮助和指导。
如果您查看 UK Government website for the Passport Office,上面说护照照片需要至少 600 像素宽 x 750 像素高。
让我们从 600x750 的憨豆先生的足够质量(如果不是内容)的照片开始:
如果我们现在将他的大小调整为与您的图像相同 (160x200),然后备份您会看到质量因试图以 160x200 表示图像而受到影响,您无法发明所有丢失的像素- 他们永远消失了。看看他的牙齿和眼角的高光:
convert bean.jpg -resize 160x200 -resize 600x750 result.jpg
因此,您在 Imagick 中所能做的就是:
Imagick::resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $bestfit = FALSE [, bool $legacy = FALSE ]] )
返回到 600x750 并尝试将过滤器设置为 Catrom
或 Lanczos
。但是你不能发明不存在的东西...