画像最適化スクリプトの最終形態というか、
画像最適化スクリプト2は画像をそのままの大きさで「JPG最適化」しますが、画像最適化スクリプト3は「JPG最適化」+「縦横サイズ」を縮小します。
関連記事:
Downloadサイトのかなり下の方の「Windows Binary Release」で
Wondows 64bit の 2020.6.24 現在で最新版の
ImageMagick-7.0.10-21-Q16-HDRI-x64-dll.exe をダウンロードしてインストールしてください。
インストールフォルダ内の magick.exeのパスを各自メモして
【magick.exeのパス】を各々の環境で書き換えてください。
下記のコード内の「700x700」の意味はアスペクト比を変えずに幅、高さの最大値を700以下に縮小するということです。
なので、「700x700」の部分を自分が縮小しようとする「幅x高さ」に変えてください。
(「700x700>」の「>」を調べるのに苦労しました。)
で、先日のコードを修正。
== sample3.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)|(webp)/i)) {
var op = "\"" + infile + "\" /convert=\"" + infile2 + "\"";
var app = 【i_view64.exeのパス】;
ws.run(app + " " + op, 0, true);
infiles = infiles + " \"" + infile2 + "\"";
}
}
// ↓ここから
// 注意事項:
// 出力ファイル名は元の画像ファイルパスで aaa-0.jpg~aaa-n.jpg (nは整数)になります。
// 複数ファイルを選択して jsファイルにドロップしたときの引き渡される引数の順序は、
// ドラッグや右クリック時に、マウスポイントしたファイルが先頭で、残りは選択ファイルの並びで続きの順序なので
// マウスポイントを選択ファイルの先頭ファイルにして、そこからドラッグや右クリックをすると
// ファイル名 ( aaa-n.jpg ) の順番がくずれない。
var app2 = 【magick.exeのパス】;
var outfile = "\"" + fs.GetParentFolderName(WsArg(0)) + "\\aaa.jpg\"";
// 画像リサイズ(長辺を指定された縦横幅で収まるように調整。アスペクト比保持)・アンシャープ
// 下のコード内の「700x700」の部分を自分が縮小しようとする「幅x高さ」に変えてください。
var op2 = " convert " + infiles + " -resize 700x700> -unsharp 1.5x1+0.7+0.02 " + outfile;
ws.run(app2 + op2, 0, true); // 非表示、appの終了を待つ
// ↑ここまで追記
var app1 = 【jpegoptim.exeのパス】;
var op1 = infiles + " -q --strip-all --max=85 --all-progressive";
ws.run(app1 + " " + op1, 0, true);
ws = null;
fs = null;
== sample3.js - END ======================
使い方は同じで画像ファイルをドロップするだけ。
Imagemagick のアンシャープはかなりいいとおもいます。
私は上記の option で非常に気に入ってますが、各自パラメータを調節してください。
※ 自己責任にてご使用お願いします。
0 件のコメント:
コメントを投稿