Webpフォーマットの画像を変換しますjava.io.IOException: Cannot run program "dwebp": error=2, No such file or directory
一:webpフォーマット
WebPフォーマット、グーグル(google)が開発した画像のロード速度を速めるための画像フォーマット.画像圧縮容量はJPEGの約2/3で、サーバ帯域幅のリソースとデータ空間を大幅に節約できます.Facebook Ebayなどの有名なサイトでは、WebP形式のテストと使用が開始されています.しかし、WebPは損失圧縮です.JPEGファイルを符号化するよりも、同じ品質のWebPファイルを符号化するには、より多くの計算リソースが必要です.しかし、グーグルは、このフォーマットの主な優位性は効率にあると述べた.彼らは、「品質が同じ場合、WebP形式の画像の体積はJPEG形式の画像より40%小さい.Googleブラウザはすでにwebp形式をサポートしており、Operaはバージョン番号Opera 11.10以降もサポートを追加したが、火狐とieはしばらくwebp形式をサポートしていない.flashプラグインを採用してwebpを表示することができ、もちろんいくつかの性能を消費する.
二:webpフォーマットの画像を変換する
http://downloads.webmproject.org/releases/webp/index.html
Windows環境ダウンロードlibwebp-0.4.2-windows-x 64
linux環境ダウンロードlibwebp-0.4.4-rc 2-linux-x 86-64
三:linux webp環境変数の設定
編集/etc/profile export 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ファイルを正常に変換できます.