php webp转jpg

在项目中遇到WebP格式图片在火狐浏览器无法显示的问题。本文提供两种解决方法:1) 使用CloudConvert API进行转换,但需付费;2) 调用系统库进行转换,代码实现简单高效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做个项目,涉及到抠图,

但是webp格式的到火狐上显示不了

解决方案:

//webp转换成jpg格式
function webptojpgapi($inputurl,$inputname){
    $apiurl = "https://api.cloudconvert.com/convert?apikey=[自己的apikey]&input=download&filename=$inputname&download=false&save=true&inputformat=webp&outputformat=jpg&file=$inputurl";
    $res = file_get_contents($apiurl);
    $res = json_decode($res,true);
    return $res['output']['url'].'/'.str_replace('webp','jpg',$inputname);
}

官网上都有说明,具体就是这样了,

但是这样有个不便之处,收费,尼玛,坑爹的,所以采用了另外一种方式。

调用系统库,代码如下,赶脚很高大上的样子

if($ext=='webp'){
      $img_pathwebp = "Runtime/yy_".time().rand_string(3).'.png';

@file_put_contents($img_pathwebp, file_get_contents($img_path));
      $img_pathwebp = realpath($img_pathwebp);
$pic_path  = $img_pathwebp ; 
      
      @system("dwebp $img_pathwebp -o $pic_path", $retval);

 }


PHP中,我们可以使用GD库来将WebP格式的图片换成JPG格式的图片。GD库是一个流行的图形库,可以在PHP中创建、操作和保存图像。 首先,我们需要检查GD库是否已启用。可以通过PHP的`extension_loaded()`函数来检查。如果返回`false`,则需要在PHP配置文件中启用GD库。 一旦确保GD库已启用,我们可以使用GD库的函数来进行换。首先,我们需要使用`imagecreatefromwebp()`函数创建一个WebP格式的图像资源。此函数接受WebP图像的文件路径作为参数,并返回一个图像资源标识符。 接下来,我们可以使用`imagejpeg()`函数将图像资源保存为JPG格式的文件。该函数需要两个参数:图像资源标识符和保存文件的路径。您可以指定保存文件的路径以及JPG文件的质量。 下面是一个示例代码来演示如何将WebP格式换为JPG格式: ```php // 检查GD库是否已启用 if (!extension_loaded('gd')) { die('GD库未启用'); } // 创建WebP图像资源 $webpPath = 'path_to_webp_image.webp'; $webpImage = imagecreatefromwebp($webpPath); // 保存为JPG格式的文件 $jpgPath = 'path_to_save_jpg.jpg'; imagejpeg($webpImage, $jpgPath, 80); // 释放资源 imagedestroy($webpImage); echo 'WebP格式已成功换为JPG格式'; ``` 以上代码会将名为`path_to_webp_image.webp`的WebP图片换成JPG格式,并保存为名为`path_to_save_jpg.jpg`的文件。`imagejpeg()`函数的第三个参数80表示JPG文件的质量,可根据需求进行调整。 换完成后,您可以在指定的保存路径中找到换后的JPG格式图片。 请注意,使用GD库进行图像处理可能需要一定的运行内存和执行时间。确保您的PHP环境具备足够的内存和执行时间限制。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值