我试图增加一个非常低分辨率的jp2图像到更高的新闻部,这样图像就可以被看到,而不会给我们的眼睛带来任何不便。
我成功地读取了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的可能性。见这里http://www.imagemagick.org/discourse-server/viewtopic.php?t=18241
如何在PHP脚本中(而不是通过命令行)实现这一点?任何帮助和指导都将不胜感激。
发布于 2018-12-09 17:54:51
如果你看英国护照办公室网站,它说护照照片至少要宽600 by,宽750 by。
让我们从一张600×750比恩先生的照片(如果不是内容)开始:

如果我们现在将他的大小调整到与你的图像( 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。但你不能发明不存在的东西..。
https://stackoverflow.com/questions/53692163
复制相似问题