【问题标题】:Converting PNG to JPEG file将 PNG 转换为 JPEG 文件
【发布时间】:2012-12-22 14:43:02
【问题描述】:

我有一个将 PNG 文件转换为 JPEG 文件的脚本。除了,我不确定它是如何工作的。 $outputPngFile 和 $outputJpgFile 有什么用?我可以使用 tmp 文件执行此操作吗,例如用户上传文件时?那么,如何访问新文件以将其移动到正确的图像目录?

function pngTojpg($image, $outputPngFile, $outputJpgFile, $quality) {
$image = imagecreatefrompng($image);

//Save the png image
imagepng($image, $outputPngFile);         

//Save the jpeg image
imagejpeg($image, $outputJpgFile, $quality);

// Free up memory
imagedestroy($image);
}

【问题讨论】:

    标签: php gd


    【解决方案1】:
    <?php
    $image = imagecreatefrompng('yourlocation/image.png');
    imagejpeg($image, 'yournewlocation/image.jpg', 70);
    imagedestroy($image);
    ?>
    

    【讨论】:

    • 你能分解一下所有变量是什么吗?
    • 只是将其保存到新位置而不是移动它?
    • 这更简单,70 代表压缩,所以将其更改为您想要的。
    【解决方案2】:

    知道您使用的是与 PHP 捆绑在一起的 GD library 可能会对您有所帮助。

    该函数所做的是获取 png 图像 ($image) 的路径,将其加载到可以在 PHP (imagecreatefrompng) 中操作的 GD 资源中,saving the image as a png 到 png 输出路径 (@ 987654328@),然后 saving the image as a jpg 到具有特定压缩因子 ($quality) 的 jpg 输出路径 ($outputJpgFile),最后是 destroying the image resource object,因为不再需要它。

    由于它也将图像保存为 png,因此该函数显然旨在用于保存来自外部源(由 URL 提供)或来自用户上传的临时文件的图像。你可以做任何一个,只要你提供给图像文件的路径是有效的,PHP 不在乎。

    【讨论】:

      猜你喜欢
      • 2011-01-18
      • 2016-08-11
      • 1970-01-01
      • 2011-09-09
      • 2022-08-22
      • 2019-10-17
      • 2020-03-13
      • 2016-07-22
      • 2017-09-01
      相关资源
      最近更新 更多