转换webp格式图片,java.io.IOException: Cannot run program "dwebp": error=2, No such file or directory
2015-12-09 15:03
633 查看
一:webp格式
WebP格式,谷歌(google)开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有JPEG的2/3,并能节省大量的服务器带宽资源和数据空间。Facebook Ebay等知名网站已经开始测试并使用WebP格式。
但WebP是一种有损压缩。相较编码JPEG文件,编码同样质量的WebP文件需要占用更多的计算资源。
但谷歌表示,这种格式的主要优势在于高效率。他们发现,“在质量相同的情况下,WebP格式图像的体积要比JPEG格式图像小40%。
谷歌浏览器已经支持webp格式,Opera在版本号Opera11.10后也增加了支持,
然而火狐和ie暂时还不支持webp格式,可以采用flash插件来显示webp,当然这样会耗费一些性能。
二:转换webp格式图片
http://downloads.webmproject.org/releases/webp/index.htmlwindows环境下载
libwebp-0.4.2-windows-x64
linux环境下载
libwebp-0.4.4-rc2-linux-x86-64
三:linux设置webp环境变量
编辑 /etc/profileexport PATH=/mnt/online/libwebp/bin:$PATH
四:转换程序
public class WebpUtil { private static Logger logger = Logger.getLogger(WebpUtil.class); private static Gson g = new Gson(); /** * 转换webp格式的图片<br> * convertWebp <br> * @param originPath webp图片原始地址 * @param filePath 转换后的图片地址 */ public static void convertWebp(String originPath, String filePath){ EPlatform ePlatform = OSinfo.getOSname(); String dwebp = "dwebp"; switch (ePlatform) { case Windows: dwebp = GetProperties.getServerConfigValue("dwebpPath"); break; default: break; } List<String> commands = new ArrayList<String>(); commands.add(dwebp); commands.add(originPath); commands.add("-o"); commands.add(filePath); logger.error("command:"+g.toJson(commands)); try { ProcessBuilder builder = new ProcessBuilder(commands); builder.start(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { convertWebp("F:/1.webp","F:/1.png"); } }
5:注意
注意:如果程序没有读写文件的权限的话,会报异常java.io.IOException: Cannot run program “dwebp”: error=2, No such file or directory
可以执行 chmod -R 777 文件夹,然后就可以正常转化webp文件了。
相关文章推荐
- 谷歌正式开始补偿Nexus 6P重启门和电池门用户:最高赔400美元
- 按右键另存图片只能存BMP
- photoshop去除图片上的水印
- 谷歌、雅虎支持中文域名搜索 有助提升搜索引擎优化
- upload上传单张图片
- 图片引发的溢出危机(图)
- C#实现把彩色图片灰度化代码分享
- C#将图片和字节流互相转换并显示到页面上
- C#使用DeflateStream解压缩数据文件的方法
- C#监控文件夹并自动给图片文件打水印的方法
- 纯CSS实现的当鼠标移上图片添加阴影效果代码
- C#实现打开画图的同时载入图片、最大化显示画图窗体的方法
- 随鼠标移动的图片或文字特效代码
- CSS 图片横向排列实现代码
- C#实现将Email地址转成图片显示的方法
- 超级经典一套鼠标控制左右滚动图片带自动翻滚
- 用css实现图片垂直居中的使用技巧
- C#调用WinRar执行rar、zip压缩的方法
- C++实现读取图片长度和宽度
- PHP根据图片色界在不同位置加水印的方法