虽然我在做一些图像处理,我发现,GD和Imagick在PHP不调整图像颜色的像素相同的水平,这在大多数情况下,都没有必要的。 现在,以防万一,我需要从任何尺寸的图像缩放到256 * 256图像调整大小在PHP
为了确保测试结果是一致的,我使用了一个256 * 256的图像,并调整它的大小。
我已经尝试:
imagecopyresized($new, $img, 0, 0, $x, 0, $width, $height, $w, $h); //256 , 256
和
$compression_type = imagick::COMPRESSION_NO;
$images_ima = new Imagick($image_path); //$image_path = path to image...
$images_ima->setImageCompression($compression_type);
$images_ima->setImageCompressionQuality(100);
$images_ima->sampleImage($X_SIZE,$Y_SIZE); // 256 ,256
$images_ima->writeImages($dest_path, true); //destination path
他们没有工作,如果我比较原始图像的输出,它会是这个样子:
它看起来像我使用的功能是重新采样图像,因为两个图像之间的RGB值的变化很小
我可以实现像素从256 * 256 256 * 256在Photoshop,OSX预览,甚至Pixelformer象素相同大小调整。 我想知道如何做到这一点我的PHP?
如果您检测到像素尺寸相同,为什么不使用imagecopy? – 2012-01-09 10:13:35
我不知道我完全理解你的问题,但每个图像处理库通常*不会*使用相同的确切算法。无论你的测试是什么,他们都不能依赖这样的假设。 – 2012-01-09 10:19:09