2

リモート画像を取得しようとしていますが、画像を表示すると (ブラウザーに直接出力するか、ディスクに保存して表示するかのいずれか)、常に品質が低くなります。

品質を落とさずにこれを行う方法はありますか?ここに私が使用した方法がありますが、同じ結果が得られます。

$imagePathのようなパスで、画像が保存される場所ですhttp://www.example.com/myimage.jpg$filePath

カール

$ch = curl_init($imagePath);
$fp = fopen($filePath, 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);

file_get_contents

$tmpImage = file_get_contents($imagePath);
file_put_contents($filePath, $tmpImage);

すぐに品質の問題を示すスクリーンショットを取得します。

KIA のロゴを見渡すと、左側に品質の問題があることがわかります。ここに画像の説明を入力

更新: さまざまな画像でさらにテストを行ったところ、品質の問題は画像ごとに異なるようです。全く問題ないものもあります。

また、画像への長いURLに基​​づいて、スクリーンショットが上の画像である画像は、スクリプトに到達する前に画像のサイズが既に変更され、品質が変更されているように見えるため、これらを説明できると考えています問題も。

4

0 に答える 0