Swimming
Walking
J-POP
Blog Customize - menu

画像最適化スクリプト

2020-06-14

Windows PC スクリプト



ブログ等にアップする画像の下準備処理に手間がかかったり、
あるいは大きな容量のファイルをそのままアップしていませんか?

このスクリプトは各種フォーマット(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 ======================

※ 自己責任にてご使用お願いします。

関係する記事:




プロフィール


ryo

現役時代のスタイル・ワンは平泳ぎでした。 ...が、マスターズで入賞できないので バタフライ長距離(200m)に仕方なく挑んでいます。

このブログを検索

@TCOM

このブログで人気の投稿

コロナワクチン接種(ファイザー2回目)

QooQ

TOP