使用 PHP 将 PNG 数据转换为 JPG 数据


Use PHP to convert PNG data into JPG data

我目前正在使用以下代码来调用动态 URL 并获取缩略图所需的图像数据:

$thumb_url = $thumbUrl."?key=".$key."&document=".$document."&width=148&height=148";
$crl = curl_init();
$timeout = 120;
curl_setopt ($crl, CURLOPT_URL, $thumb_url);
curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);
$thumb_content = curl_exec($crl);
@curl_close($crl);

一旦我有数据在thumb_content,我就可以将其作为PNG写入文件系统。 这按原样工作得很好,但是,我需要一种方法来转换它并将其另存为 JPG。

我正在审查这个问题,但它似乎在进行转换时从文件系统读取和写入:使用 PHP 将 PNG 转换为压缩的 JPG?

除非绝对必要,否则在我准备好编写最终的 JPG 之前,我不想向文件系统写入任何内容。 我只想处理流数据。

您可以使用

file_get_contents

$img = imagecreatefromstring(file_get_contents($thumb_url));
if ($img !== false)
    imagejpeg($img, "/path/to/save/file.jpg");