このスクリプトは各種フォーマット(jpg, jpeg, png,
bmp)画像ファイルをドロップするだけで
jpgに統一して最適化をします。
たとえばpngは8~15%程度の容量になり、jpgも50~95%程度になります。縦横のサイズ(px)は変わりません。
画質は私の見た目ではほぼ同じです。(^^)
jpgは上書きになるので注意してください。
jpegはリネームして最適化しているだけです。
変換用にIrfanView(i_view64.exe)が必要です。
で Download IrfanView-64 English (Version 4.54, ZIP file, 2.98 MB)
をダウンロードして任意のフォルダに解凍してください。
(たとえば c:\iview\i_view64.exe)
最適化用にjpegoptim.exeが必要です。
で jpegoptim-1.3.0-win32-binary.zip
をダウンロードして任意のフォルダに解凍してください。
(たとえば c:\optim\jpegoptim.exe)
で、以下のコードを拡張子jsのスクリプトファイルにしてください。
【i_view64.exeのパス】と【jpegoptim.exeのパス】は各々の環境で書き換えてください。
【i_view64.exeのパス】が c:\iview\i_view64.exe なら
"\"c:\\iview\\i_view64.exe\""
【jpegoptim.exeのパス】が c:\optim\jpegoptim.exe なら
"\"c:\\optim\\jpegoptim.exe\""
使い方は簡単、各種フォーマット(jpg, jpeg, png,
bmp)画像ファイルをドロップするだけ。
複数画像ファイルも一括で処理します。
== sample.js - BEGIN =====================
var WsArg = WScript.Arguments;
if ( WsArg.Count() == 0 ) WScript.Quit();
var fs = new ActiveXObject( "Scripting.FileSystemObject" );
var ws = new ActiveXObject("WScript.Shell");
var infiles = "";
for (i = 0; i < WsArg.Count(); i++) {
var infile = WsArg(i);
var ext = fs.GetExtensionName(infile);
var infile2 = infile.replace(ext, "jpg");
if (ext.match(/(jpg)/i)) {
infiles = infiles + " \"" + infile + "\"";
} else if (ext.match(/(jpeg)/i)) {
fs.MoveFile(infile, infile2);
infiles = infiles + " \"" + infile2 + "\"";
} else if (ext.match(/(png)|(bmp)/i)) {
var op = "\"" + infile + "\" /convert=\"" + infile2 + "\"";
var app = 【i_view64.exeのパス】;
ws.run(app + " " + op, 0, true);
infiles = infiles + " \"" + infile2 + "\"";
}
}
var app1 = 【jpegoptim.exeのパス】;
var op1 = infiles + " -q --strip-all --max=85 --all-progressive";
ws.run(app1 + " " + op1, 0, true);
ws = null;
fs = null;
== sample.js - END ======================
※ 自己責任にてご使用お願いします。
関係する記事:
0 件のコメント:
コメントを投稿