centos下 将(jgp、png)图片转换成webp格式

由于项目要求需要将jpg、png类型的图片  转换成webp格式,最开始使用了php gd类库里 imagewebp 方法实现,结果发现转换成的webp格式文件会偶尔出现空白内容的情况。像创建了一个透明图层的图片,但是尺寸和内存确跟转换成功的文件一般无二。

初想,可以找个办法判断一下图片是否无效的,网上找各种办法,结果无果。虽然失败了但是还是上一下代码,期待大神能协助完善方法。

function imgToWebp($file=‘‘){

    if(is_file($file)){
        $img = getimagesize($file);
        $type = $img[‘mime‘];
        if($type == ‘image/jpeg‘){
            $file_source = imagecreatefromjpeg($file);
        }
        elseif($type == ‘image/png‘){
            $file_source = imagecreatefrompng($file);
        }
        else{
            return false;
        }
        $i = strripos($file,‘.‘);
        $newFileName = substr($file,0,$i+1).‘webp‘;
        $ret = imagewebp($file_source,$newFileName,‘80‘);
        return $ret;
    }
}

使用前提条件为,php版本>=5.5  以上,并且开启gd类库。

上面这个方法的成功率不怎么高,欢迎指错。由于成功率不高,我果断换了实现方式。

既然php无法帮助我完成任务,自然要让linux上的第三方类库帮我实现格式转换,所以找到了 libwebp库。

1.首先安装类型支持

#ubuntu
apt-get install webp

#centos
yum -y install libwebp-devel libwebp-tools

安装完毕你的系统中将获得三个工具(另外 vwebp、webpmux   待学习中)

1. cwebp   如需帮助请 cwebp --help,贴一条示例转换命令:

cwebp -q 50 ~/***.jpg -o ***.webp

2. dwebp  将webp文件转换成jgp、png,同上帮助:dwebp --help

dwebp ~/***.webp -o ~/***.png

3. gif2webp gif图片资源转成webp

cwebp -q 50 ~/***.gif -o ***.webp

有了系统的类库支持,程序直接抛命令给linux处理就可以了,我这用的是php,记得要是线上模式你的php环境可能已经把exec、system等函数禁用了,查看你的php.ini,disable_funcitons配置项。提醒:禁用函数开启将增加服务器的安全风险,所以还请程序中做好参数的校验工作,确保你的过滤后命令不会造成不必要的损失。

欢迎大牛随时批评及指正!!!

另外需要确定你的服务器上安装了 libpng、libjpeg等支持包。

时间: 2024-10-20 18:30:37

centos下 将(jgp、png)图片转换成webp格式的相关文章

mac下如何将图片转换成PDF格式?

图片的格式有很多中,PDF也是经常使用的一种,那么如何将图片转换成PDF格式?除了可以通过软件进行转换格式之外,通过电脑的基本操作也是可以实现的!小编总结了具体的操作步骤,简单的计步就可以将您手中的图片转换成PDF格式,下面就和小编一起来看看具体是如何操作的吧! 将图片转换成PDF格式步骤: 第一步:选中你所有需要的图片 第二步:在编辑选项里面选择"全选" 第三步:选择"打印" 第四步:选择"储存为PDF

如何将.jpg图片 转换成.eps 格式图片

在使用latex写作论文的时候,需要插入一些图片,但是往往有些图片不是eps格式的.虽然网上有如何插入jpg格式的图片方法,但是经过我实验后发现都不太管用.最后找到一个比较靠谱的方法,使用latx本身的图片转换功能.具体方法如下: 可以从MiKTex的目录下找到bmeps的应用文件.在我的电脑里路径是D:\ProText\MiKTeX\texmf\miktex\bin,是latex自己的bitmap to eps converter. 在DOS下,进入.jpg图片所在目录, 用语句bmeps 1

如何把图片转换成pdf格式的图片

现如今很多办公人员喜欢将图片转换成PDF格式的图片,因为PDF格式通常要比postscript文件小,可以单独处理每页适合,还可以将文字.字型.格式.颜色封装在一个文件内,并且可以包含超文本链接,声音和动态影像信息等,安全可靠性非常高.同时普通读者也是需要将图片转换成PDF格式的,对于他们而言,用PDF制作成的文件阅读起来具有纸质书的质感和阅读效果,那我们如何转换呢,今天就来介绍一下.步骤一:打开浏览器,进入百度首页,搜索迅捷PDF在线转换器.步骤二:进入转换器界面后,在导航栏上方选择文档转换,

照片转成pdf 如何把jpg图片转换成pdf格式

大家不知道还记不记得,那句台词"好男人就是我,我就是xxx"曾小贤.没错就是他<爱情公寓>毫无疑问近几年比较有特点的喜剧了,而且每个人都在盼望着第五季.尤其是到第四部结尾的时候,大家都希望曾小贤能和一菲在一起,在这时候它结束了,我们都幻想着爱情公寓第五季,可是迟迟没有音信.大家依然还记得子乔的小姨妈.楼下的小黑.婉瑜.展博. 这群年轻人跟现实生活中的我们一样,过着合租群租的生活,我们没有他们那么多的欢声笑语,可能这就是电视剧和现实差距,当我们最爱的几位主演都有了自己新的工作

pdf图片转换成jpg格式的方法

pdf转换成jpg格式虽说可以截图,但是效果不好,随意大多数朋友还是比较愿意用转换软件进行pdf转图片格式,那么pdf转换成jpg软件的到底该怎么用大家知道吗? 先将pdf格式转换器安装到我们的电脑中,方便我们使用: 打开软件找到“文件转图片”转换格式,(在pdf的其他操作里也有pdf图片获取功能,想要提取部分图片的可以使用该功能): 选择好格式之后,接下来要做的就是添加文件了,添加文件/添加文件夹按钮都可以来添加文件,直接将文件拖曵到软件内也是可以的: 添加好文件之后要做的就是设置文件的保存路

批量图片转换成bmp格式

将png,jpg,gif等图片格式转换成bmp格式 代码如下: import Image ##im = Image.open('BtnWrite.Image.gif') ##im.save('BtnWrite.Image.bmp') ## import os extension = ['.bmp'] listfile = os.listdir(os.getcwd()) for each in listfile: filename = each print filename im = Image.

怎样将普通的图片格式转换成PDF格式

大多时候我们处理格式间的转换的对象多数为一些文件,如word.Excel.WPS等几种办公中常所使用到的.试过如何将图片转换成PDF格式了吗?相信大部分的人都不知道如何操作,不妨试一下这种方法,小编将方法分享给大家!操作如下. 1.首先需要我们找到一款能够支持转换文件格式的转换软件,搜索工具的关键词"PDF转换工具",点击软件的官网中进行下载. 2.转换工具下载完成后,在电脑桌面打开它,进入到操作页面.下面操作的是将图片转换成PDF格式,鼠标点击选择到"其他文件转换PDF&q

怎么将png图片怎么转换成jpg格式

如何将图片转换成JPG格式呢?由于JPG格式图片比较通用,有的是作为证件照上传,有的是设置论坛的头像等等原因,很多人从网上保存的图片会有png的格式,那么电脑怎么将png图片怎么转换成jpg格式呢? 1.有人会通过改文件的后缀格式来转换图片,图片过多的话就是一个不正确的方法.可以在电脑上通过图片格式转换器的辅助,批量的转换图片格式:2.安装好后打开软件.选择常规图片格式的菜单功能,然后点击添加文件夹,进行批量的导出图片,或者是点击添加文件都是可以的:3.添加完图片之后,然后看到页面下方有输出格式

用PDF编辑器将图片转换成PDF文件的诀窍

大家在办公的时候将一些图片上传到网上的时候都不希望自己的图片破坏掉,于是就出现了将图片转换成PDF格式文件的方法.这样一来别人想要将PDF文件进行修改就比较困难了. 那么如何使用PDF编辑器将图片转换成PDF文件呢?下面小编就来教大家使用福昕PDF编辑器将图片转换成PDF格式. 1.打开安装好的福昕PDF编辑器: 2.点击顶部菜单栏[转换]-[文件转换]-[将多个文件转换为PDF]: 3.在弹出的窗口中,批量选中需要转换的图片: 4.如果需要,可以勾选左下角的选项,将所有图片合并在一个PDF文件