当前位置: 首页 > 面试题库 >

使用PHP通过压缩将PNG转换为JPG?

扈韬
2023-03-14
问题内容

我有一堆高质量的PNG文件。我想使用PHP将它们转换为JPG,因为它的文件较小,同时又保持了质量。我想在网上显示JPG文件。

PHP是否具有执行此操作的功能/库?质量/压缩度好吗?


问题答案:

这样做可以将PNG安全地转换为白色透明的JPG。

$image = imagecreatefrompng($filePath);
$bg = imagecreatetruecolor(imagesx($image), imagesy($image));
imagefill($bg, 0, 0, imagecolorallocate($bg, 255, 255, 255));
imagealphablending($bg, TRUE);
imagecopy($bg, $image, 0, 0, 0, 0, imagesx($image), imagesy($image));
imagedestroy($image);
$quality = 50; // 0 = worst / smaller file, 100 = better / bigger file 
imagejpeg($bg, $filePath . ".jpg", $quality);
imagedestroy($bg);


 类似资料:
  • 我对图像文件的信息很少。 为了能够在Java中将PNG转换为JPEG,首先我使用了下面的代码部分来将PNG转换为JPEG:inverted 代码部分1) 但这一次,转换后的JPEG文件得到了倒置的颜色。 为什么会出现这种情况?

  • 问题内容: 我在将简单的PNG转换为JPEG格式时遇到问题。我正在使用以下代码: … … 我最后遇到一个JAI异常-> java.lang.RuntimeException:只能写入1或3字节的字节数据。在com.sun.media.jai.codecimpl.JPEGImageEncoder.encode(JPEGImageEncoder.java:148)… 退出选项。有什么建议吗? 问题答案

  • 问题内容: 如何使用PHP将单个jpg图像转换为3种不同的图像格式gif,png和bmp? 请帮助 问题答案: 首先,使用imagecreatefromjpeg()从文件中创建图像对象。然后,您将该对象转储为不同的格式(例如,使用imagegif()):

  • 问题内容: 使用PHP将jpg图像转换为gif,png和bmp格式的可能重复项 我有一个PHP表单,该表单允许图像上传和检查以确保图像有效。 但是,我希望所有格式(PNG,JPG,JPEG和GIF)最终在提交后都是PNG。 我该怎么做呢? 问题答案: 然后,您只需要。实际上,它几乎变成了单线: 您将使用文件名,并且显然使用不同的输出文件名。但是图像格式探测本身将变得多余。

  • 我正在尝试使用下面的函数将CGM文件转换为PNG。我一直在得到NullPointerException。 下面是我面临的例外 我尝试调试代码,发现ImageIO不支持CGM格式(CanDecodeInputFilter为我的CGM返回false)。关于如何将CGM转换为PNG图像的任何想法。 PS:我正在使用java 11进行开发。 提前感谢 使现代化 根据回复,我尝试了jcgm库(将核心和图像库