違いはかなり大きいようです。数年前にいくつかのテストを行ったとき、IMのファイルサイズはGDの約5倍でした。実際に使用されているコードを確認するのは興味深いことです。
私は現在仕事中ですが、写真のサイズを592 x 592に変更し、ファイルサイズは50.3KBです。あなたと同じサイズではないことはわかっていますが、品質100で保存されました。
これを実行して、IMが出力ファイルについて何を言っているかを確認できます。convertimage -verbose -identify
編集:
テストを実行したところ、結果は以下のとおりです。何らかの理由で、サムネイルのサイズがサイズ変更のサイズと同じになっています。多分バグ。
元のファイルサイズ:4700 x 3178 2.31MB
-サイズ変更=1021x 680 186kb
-サムネイルの寸法=1021x 680 186kb
GD寸法=1024x 682 100kb
$original = 'IMG_4979_1.CR2';
// Convert to jpg as GD will not work with CR2 files
exec("convert $original image.jpg");
$image = "image.jpg";
exec("convert $image -resize 1024x680 output1.jpg");
exec("convert $image -thumbnail 1024x680 -strip output2.jpg");
// Set the path to the image to resize
$input_image = 'image.jpg';
// Get the size of the original image into an array
$size = getimagesize( $input_image );
// Set the new width of the image
$thumb_width = "1024";
// Calculate the height of the new image to keep the aspect ratio
$thumb_height = ( int )(( $thumb_width/$size[0] )*$size[1] );
// Create a new true color image in the memory
$thumbnail = ImageCreateTrueColor( $thumb_width, $thumb_height );
// Create a new image from file
$src_img = ImageCreateFromJPEG( $input_image );
// Create the resized image
ImageCopyResampled( $thumbnail, $src_img, 0, 0, 0, 0, $thumb_width, $thumb_height, $size[0], $size[1] );
// Save the image as resized.jpg
ImageJPEG( $thumbnail, "output3.jpg" );
// Clear the memory of the tempory image
ImageDestroy( $thumbnail );