0

したがって、次のスクリプトを使用して、着信 jpg のサイズを変更し、新しいサイズでサーバーに保存します。imagejpegで画質90にしていても、作成したjpgファイルの画質がひどいです。努力の早い段階でそれを台無しにしているかどうか疑問に思っています。

// Get new sizes
    list($width, $height) = getimagesize($filename);
    $percentW=298/$width;
    $newwidth = $width * $percentW;
    $newheight = $height * $percentW;

    // Creating a blank canvas to put the new file. Is this an extra step?
    $thumb = imagecreatetruecolor($newwidth, $newheight);
    $source = imagecreatefromjpeg($filename);

    // Now I create the resized photo with the needed width and height on the blank canvas with the source file resized
    imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

    // Output to server, define 90% quality. My guess is the quality is destroyed before now.
    imagejpeg($thumb,"../../uploads/buckets/" . $_POST["bucket"] . "/" .$fileNameBucket,90);
    imagedestroy($thumb);

ファイルをサーバーに出力する前に品質を台無しにしていますか? サイズ変更の代わりにリサンプルを使用する必要がありますか? 私は GD ライブラリの使用に固執しているため、ImageMagick はオプションではありません。ありがとう。

4

0 に答える 0