Пока я занимался обработкой изображений, я обнаружил, что GD и Imagick в PHP не изменяют размер изображения до идентичного уровня цветного пикселя, что в большинстве случаев не требовалось.Теперь, в случае, если мне нужно изображение из любого измерения, чтобы масштабировать до 256 * 256
Чтобы убедиться, что результаты TEST согласованы, я использовал изображение 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 в фотошопе, предварительный просмотр OSX и даже Pixelformer.мне было интересно, как это можно сделать в PHP?