2024/07/05 TechnoStyle

PictureTool 仕様

PictureToolはコンソールアプリケーションです。画像ファイルを加工することができます。

背景色設定、トリミング、リサイズ、回転、反転、パディング設定、マージン設定、背景サイズ設定、背景画像設定、ガンマ補正、グレースケール、減色、2値化、色深度変更、解像度変更、ページ分割、画像フォーマット変更等の処理ができます。

使用方法

書式

pictureTool.exe -i 入力画像ファイル名 -o 出力画像ファイル名 [-r 解像度] [-rst 解像度設定タイミング] [-bc 背景色] [-bcp パディング背景色] [-bcm マージン背景色] [-eo] [(-t トリミング範囲|-tm トリミング範囲マージン指定)] [-s サイズ] [-fa] [-awh] [-rf 回転角度と反転方向] [-p パディング] [-m マージン] [-bs 背景サイズ|-bi 背景画像ファイル名] [-pp 貼り付け位置] [-gc ガンマ補正ガンマ値] [-gs] [-cra 減色アルゴリズム] [-ba 2値化アルゴリズム] [-bt 2値化閾値] [-cd 色深度] [-q 品質] [-c 圧縮形式] [-sp] [-os] [-y] [-omf] [-z 結果ファイル名] [-zmf] [-ec]

「name 1.txt」のように値にスペースが含まれる場合は、"name 1.txt" のようにダブルクォートで括ってください。

引数の仕様は以下の通りです。[]は省略可能な引数です。(|)は何れか一つを指定する引数です。

-i 入力画像ファイル名 入力画像ファイルを指定します。指定可能なファイル形式はJPEG,PNG,BMP,TIFF,GIFです。
入力画像ファイルを複数指定しつつ、出力画像ファイルをマルチページ対応フォーマットに対応した出力画像形式にすると、複数の入力画像ファイルを束ねて1つの出力画像ファイルとして出力します。
以下のように -i 入力画像ファイル名 の組み合わせで複数指定します。
-i 入力画像ファイル名1 -i 入力画像ファイル名2 -i 入力画像ファイル名3 ...
-o 出力画像ファイル名 出力画像ファイルを指定します。指定可能なファイル形式はJPEG,PNG,BMP,TIFF,GIFです。
-r 解像度

以下の2通りの何れかの方法で解像度を指定します。単位はDPIです。単位は記述せずに数値のみで指定します。

  1. 1つの解像度 (下記2.の「垂直解像度が空文字列、*、0の何れかの場合の場合」と同等)
  2. カンマ区切りで「水平解像度,垂直解像度」の2つの解像度

    垂直解像度が空文字列、*、0の何れかの場合、水平解像度を元に入力画像の解像度比率と等しい値に自動調整します。

    水平解像度が空文字列、*、0の何れかの場合、垂直解像度を元に入力画像の解像度比率と等しい値に自動調整します。

-rを指定しなかった場合は入力画像の解像度を使用します。

入力画像の解像度の比率と異なる解像度を指定した場合は、出力画像のアスペクト比が崩れる事があります。

-rst 解像度設定タイミング

解像度の設定タイミング(画像処理の前後)を指定します。指定できるタイミングは以下の何れかです。

  • before
  • after

-rstを指定しなかった場合はデフォルト値 before を使用します。

-rを指定しなかった場合は無視されます。

-bc 背景色

-bcp パディング背景色

-bcm マージン背景色

背景色の色コードをRGB24ビット16進数で指定します。指定可能な範囲は 000000 ~ FFFFFF です。

-bcは入力画像ファイルが透過画像、背景サイズ指定、何れかの時に適用されます。

-bcpはパディングの余白に適用されます。

-bcmはマージンの余白に適用されます。

-eo ExifのOrientationの値を元に画像の向きを調整します。
-t トリミング範囲

カンマ区切りで「左上X座標,左上Y座標,幅,高さ」の4つの値を指定します。

-tと-tmを同時に指定すると、-tmが優先されます。

値と単位の指定の仕方は、後述のパラメーターの指定「値」を参照してください。

-tm トリミング範囲マージン指定

上下左右のマージンを指定してトリミングします。主に、余白をカットしたい時に使用します。

-tと-tmを同時に指定すると、-tmが優先されます。

トリミング範囲マージン指定は、以下のように指定します。

指定方法 指定例 内容
上下左右を全て同じ値で指定。 100mm 上下左右の100mmをカットする。
上下、左右をそれぞれ同じ値で指定。 100mm,150mm 上下の100mm、左右の150mmをそれぞれカットする。
上、左右、下をそれぞれの値で指定。 100mm,150mm,120mm 上から100mm、左右の150mm、下から120mmをそれぞれカットする。
上、右、下、左をそれぞれの値で指定。 100mm,150mm,120mm,200mm 上から100mm、右から150mm、下から120mm、左から200mmをそれぞれカットする。

値と単位の指定の仕方は、後述のパラメーターの指定「上下左右」を参照してください。

-s サイズ

カンマ区切りで「幅,高さ」を指定します。

値と単位の指定の仕方は後述のパラメーターの指定「値」を参照してください。

高さが空文字列、*、0の何れかの場合、幅を元に入力画像サイズの比率と等しい値に自動調整します。

幅が空文字列、*、0の何れかの場合、高さを元に入力画像サイズの比率と等しい値に自動調整します。

入力画像サイズの比率と異なる幅と高さを指定した場合は、出力画像のアスペクト比が崩れる事があります。

-fa -sで幅と高さを指定した時に有効となります。アスペクト比維持で指定された幅と高さに収まるように自動調整します。
-awh

-sで幅と高さを指定した時 に有効となります。オプションで指定した数値の大小関係を判定し、入力画像の適用する幅と高さを入れ替える処理を行います。

例えば、「-s 200,100 -awh」と指定した場合、入力画像の幅が500ピクセル、高さが1000ピクセルだった場合、入力画像の高さの方が数値が大きいので、引数に指定された幅の数値(200)を高さに適用し、幅は高さの数値(100)を適用します。(-s 100,200 と指定されたように振る舞います)

-rf 回転角度と反転方向

画像を回転反転します。指定可能な回転角度は 90, 180, 270 (全て時計回りの角度)の3つです。

指定可能な反転方向は x (左右反転), y (上下反転) です。90y, 270x のように回転角度と反転方向を同時に指定できます。

-p パディング

上下左右のパディングを指定します。画像を縮小して指定した余白を設定する動きとなります。

パディング処理の前後で画像サイズは変わりません。(-s でサイズを指定した場合は、指定したサイズとなります)

値と単位の指定の仕方は、後述のパラメーターの指定「上下左右」を参照してください。

画像のアスペクト比を維持して、パディング内の領域に収まるように縮小します。縮小された画像は、パディング内の領域の縦横中央に配置します。

このようなアルゴリズムの為、パディングの縦横どちらかが指定値よりも大きな値となる事があります。

-m マージン

上下左右のマージンを指定します。指定した余白を追加する動きとなります。

マージン処理後の画像サイズはマージンの分、大きくなります。(-s でサイズを指定した場合は、指定したサイズ + マージンとなります)

値と単位の指定の仕方は、後述のパラメーターの指定「上下左右」を参照してください。

-bs 背景サイズ

背景のサイズを「幅,高さ」または「用紙サイズ,向き」で指定します。

-bsと-biを同時に指定すると、-biが優先されます。

値と単位の指定の仕方は、後述のパラメーターの指定「上下左右」を参照してください。

指定方法 指定例 内容
幅と高さ 200mm,300mm 幅200mm、高さ300mmとする。
用紙サイズと向き A4,縦 用紙サイズはA3, A4, A5, B4, B5を指定できます。向きは縦, portrait, 横, landscapeを指定できます。
-bi 背景画像ファイル名

背景画像ファイルを指定します。指定可能なファイル形式はJPEG,PNG,BMP,TIFF,GIFです。

-bsと-biを同時に指定すると、-biが優先されます。

-pp 貼り付け位置

背景に貼り付ける画像の位置を指定します。

-bsを指定した時に有効となります。-bsを指定して-ppを指定しなかった時は、左上寄せとなります。

貼り付け位置は「横,位置,縦,位置」の4つの値を指定します。

指定項目 指定可能な値
左, left, 右, right, 横, horizontal
上, top, 下, bottom, 縦, vertical
位置 数値 + 単位, 中央, center

指定例 内容
右,20mm,縦,中央 右から20mm、縦中央
横,中央,上,10mm 横中央、上から10mm

値と単位の指定の仕方は、後述のパラメーターの指定「上下左右」を参照してください。

背景サイズからはみ出た画像はトリミングしたような状態となります。

-gc ガンマ補正ガンマ値

0より大きい値でガンマ補正ガンマ値を指定します。

1より小さいと暗く、1より大きいと明るくなります。

1は変化無しです。

-gs

グレースケールに変換します。

グレースケールアルゴリズムはNTSC加重平均法を使用します。

色深度を指定しないと、入力画像の色深度のまま、見た目がグレースケールに変換された出力画像となります。

インデックスカラーの色深度(8, 4, 1)を指定する際は、-craを指定して減色する事をお薦めします。

-cra 減色アルゴリズム

インデックスカラー向けの減色アルゴリズムを指定します。

指定可能な減色アルゴリズムは以下の何れかです。

  • オーダードディザリング: OrderedDithering, od
  • フロイドスタインバーグディザリング: FloydSteinbergDithering, fsd
  • シエラライトディザリング: SierraLiteDithering, sld
  • スタッキーディザリング: StuckiDithering, sd
  • アトキンソンディザリング: AtkinsonDithering, ad

写真の減色を行う場合は、フロイドスタインバーグディザリングをお薦めいたします。

色深度を指定しないと、入力画像の色深度のまま、見た目が減色された出力画像となります。

インデックスカラーの色深度(8, 4, 1)を指定すると、指定した色深度の出力画像となります。

-ba 2値化アルゴリズム

1ビットカラー(2値(白黒))向けの2値化アルゴリズムを指定します。

指定可能な2値化アルゴリズムは以下の何れかです。

  • 閾値設定: SetThreshold, st
  • ランダムディザリング: RandomDithering, rd

色深度を指定しないと、入力画像の色深度のまま、見た目が2値(白黒)の出力画像となります。

色深度に1を指定すると、2値(白黒)の出力画像となります。

-bt 2値化閾値

0~1の範囲で2値化閾値を指定します。

0に近い程明るく、1に近い程暗くなります。

2値化アルゴリズムが閾値設定の時のみ適用されます。

-btを指定しない時は、デフォルト値 0.5 を使用します。

-cd 色深度

色深度のビット数を指定します。 指定可能な色深度は 1, 4, 8, 16, 24, 32 です。

指定した色深度が出力画像のイメージフォーマットに対応していない場合は、指定通りの色深度にならない事があります。

-q 品質

0~100の範囲で画像の品質を指定します。0は最高圧縮最低品質、100は最低圧縮最高品質です。

出力画像ファイルがjpeg形式の時のみ適用されます。-qを指定しなかった場合は、デフォルト値 90 を使用します。

-c 圧縮形式

指定できる圧縮形式は以下の何れかです。

  • CCITT3
  • CCITT4
  • CCITTT6
  • LZW
  • RLE
  • PackBits
  • None

CCITT4 と CCITTT6 及び、RLE と PackBits は同じ圧縮形式です。

出力画像ファイルがtiff形式の時のみ適用されます。-cを指定しなかった場合は、デフォルト値 None を使用します。

-sp

長い方の辺を基準に画像を2分割します。画像サイズはオリジナルの半分になり、出力画像は2ページとなります。出力画像フォーマットによって出力結果が異なります。出力画像がTiffの場合、マルチページで出力されます。Tiff以外の画像、または-osオプションを指定した場合は、ファイル名の末尾に連番を付与(sample.jpg →sample_1.jpg,sample_2.jpg)します。

-os

出力画像のフォーマットをマルチページとせずに、複数ファイルに出力します。出力画像のフォーマットが、マルチページ対応フォーマットの時に有効です。

-omf

画像を出力するフォルダーが存在しない時に、フォルダーを作成します。

-y 出力画像ファイルが存在していた時に上書きします。
-z 結果ファイル名 処理結果を出力します。結果ファイルが存在していた時は上書きします。
-zmf

処理結果を出力するフォルダーが存在しない時に、フォルダーを作成します。

-ec 終了コードと結果ファイルに出力される、エラーメッセージの一覧を出力します。

パラメーターの指定

上下左右

CSSのmarginやpaddingと似た書き方です。以下の4通りです。

  1. 「上下左右」の1つの値
  2. カンマ区切りで「上下,左右」の2つの値
  3. カンマ区切りで「上,左右,下」の3つの値
  4. カンマ区切りで「上,右,下,左」の4つの値

単位はピクセル、mm、inch、%で指定可能です。小数を使用できます。ピクセルは数値のみ、mmとinchと%は数値に単位を付けます。

単位 指定例
ピクセル 100
mm 10.5mm
inch 5.2inch
% 50%

加工の順番

以下の順に画像処理を行います。スイッチで指定した処理のみ行います。

  1. 解像度変更 ※ 解像度設定タイミングが処理前の時
  2. ExifのOrientationの値を元に画像の向きを調整
  3. トリミング
  4. リサイズ
  5. 回転と反転
  6. パディング設定
  7. マージン設定
  8. 背景色設定
  9. 背景サイズ設定、または、背景画像設定
  10. ガンマ補正
  11. グレースケール
  12. 減色
  13. 2値化
  14. 色深度変更
  15. 解像度変更 ※ 解像度設定タイミングが処理後の時
  16. ページ分割
  17. 指定されたフォーマットで画像ファイル出力

入力画像フォーマットがマルチページの時は、全てのページに対して上記の処理を行います。

複数の出力画像

出力画像が複数ページとなるケースは、以下の通りです。

  1. -spによるページ分割。
  2. 入力画像ファイルがマルチページの時。
  3. 入力画像ファイルを複数指定。

出力画像が複数ページとなる場合の出力画像フォーマットと、パラメーターの組み合わせは、以下の通りです。

  1. マルチページ対応ではないフォーマット。
  2. マルチページ対応フォーマットで -osを指定。
  3. マルチページ対応フォーマットで -osの指定なし。

1と2は、出力画像ファイル名の末尾に、ページNoを付加した複数の画像ファイルとなります。

3は、1つの出力画像ファイルでマルチページ画像ファイルとなります。

使用例

画像ファイルin.jpgの範囲100,100,200,200をトリミングしてout.pngとして出力。

pictureTool.exe -i in.jpg -o out.png -t 100,100,200,200

画像ファイルin.jpgの範囲100,100,200,200をトリミング、幅50ピクセル高さ自動調整でリサイズしてout.jpgとして上書き出力。

pictureTool.exe -i in.jpg -o out.jpg -t 100,100,200,200 -s 50,* -y

画像ファイルin.jpgの範囲10.5mm,10.5mm,50mm,20mmをトリミングしてout.pngとして出力。

pictureTool.exe -i in.jpg -o out.png -t 10.5mm,10.5mm,50mm,20mm

画像ファイルin.jpgの範囲10mm,10mm,50mm,20mmをトリミング、幅30mm高さ自動調整でリサイズしてout.jpgとして上書き出力。

pictureTool.exe -i in.jpg -o out.jpg -t 10.5mm,10.5mm,50mm,20mm -s 30mm,* -y

画像ファイルin.jpgの上下左右50ピクセルをトリミングしてout.pngとして出力。

pictureTool.exe -i in.jpg -o out.png -tm 50

画像ファイルin.jpgの上下100ピクセル、左右50ピクセルをトリミングしてout.pngとして出力。

pictureTool.exe -i in.jpg -o out.png -tm 100,50

画像ファイルin.jpgの向きを調整、品質100でout.jpgとして上書き出力。

pictureTool.exe -i in.jpg -o out.jpg -eo -q 100 -y

画像ファイルin.jpgの向きを右に90度回転してout.jpgとして上書き出力。

pictureTool.exe -i in.jpg -o out.jpg -rf 90 -y

画像ファイルin.jpgをアスペクト比維持で幅600ピクセル高さ600ピクセルに収まるようにリサイズしてout.jpgとして上書き出力。

pictureTool.exe -i in.jpg -o out.jpg -s 600,600 -fa -y

画像ファイルin.jpgをサイズはそのままで上下左右に10mmパディングを設定してout.jpgとして上書き出力。

pictureTool.exe -i in.jpg -o out.jpg -p 10mm -y

画像ファイルin.jpgの上下左右に10mmマージンを設定してout.jpgとして上書き出力。

pictureTool.exe -i in.jpg -o out.jpg -m 10mm -y

画像ファイルin.jpgをA4縦の縦横中央に配置してout.jpgとして上書き出力。

pictureTool.exe -i in.jpg -o out.jpg -bs A4,portrait -pp horizontal,center,vertical,center -y

画像ファイルin.tiffを背景色白、色深度24ビット、圧縮形式PackBitsでout.tiffとして上書き出力。

pictureTool.exe -i in.tiff -o out.tiff -bc ffffff -cd 24 -c PackBits -y

画像ファイルin.tiffをガンマ値2.0(明るくする)でガンマ補正して、圧縮形式PackBitsでout.tiffとして上書き出力。

pictureTool.exe -i in.tiff -o out.tiff -gc 2.0 -c PackBits -y

画像ファイルin.tiffを誤差拡散法で2値化して、色深度1ビット、圧縮形式PackBitsでout.tiffとして上書き出力。

pictureTool.exe -i in.tiff -o out.tiff -ba edd -cd 1 -c PackBits -y

画像ファイルin.tiffを閾値0.4で2値化して、色深度1ビット、圧縮形式PackBitsでout.tiffとして上書き出力。

pictureTool.exe -i in.tiff -o out.tiff -ba st -bt 0.4 -cd 1 -c PackBits -y

画像ファイルin.tiff(マルチページ)をページ分割してout.tiff(マルチページ)として上書き出力。

pictureTool.exe -i in.tiff -o out.tiff -sp -y

画像ファイルin.tiff(マルチページ)をページ分割してout.tiff(ページNo付き複数ファイル)として上書き出力。

pictureTool.exe -i in.tiff -o out.tiff -sp -os -y

画像ファイルin1.tiff,in2.tiff,in3.tiffを束ねてout.tiff(マルチページ)として上書き出力。

pictureTool.exe -i in1.tiff -i in2.tiff -i in3.tiff -o out.tiff -y

リターンコード

リターンコードは以下の通りです。

0 正常終了
1 対象外のスイッチが指定されています。 'スイッチ'
2 結果ファイルが指定されていません。
3 入力画像ファイルが指定されていません。
4 出力画像ファイルが指定されていません。
5 入力画像ファイルが存在しません。 '入力画像ファイル名'
6 画像を出力するフォルダーが存在しません。 '出力画像ファイル名'
7 処理結果を出力するフォルダーが存在しません。 '結果ファイル名'
8 出力画像ファイルが存在します。 '出力画像ファイル名'
9 解像度の指定が間違っています。 '解像度'
10 解像度設定タイミングの指定が間違っています。 '解像度設定タイミング'
11 指定された背景色は色コードとして認識できません。 (RGB24ビット16進数で指定してください) '背景色'
12 トリミング範囲の指定が間違っています。 'トリミング範囲'
13 トリミング範囲マージン指定の指定が間違っています。 'トリミング範囲マージン指定'
14 サイズの指定が間違っています。 'サイズ'
15 幅の指定が間違っています。 '幅'
16 高さの指定が間違っています。 '高さ'
17 回転角度と反転方向の指定が間違っています。 '回転角度と反転方向'
18 パディングの指定が間違っています。 'パディング'
19 マージンの指定が間違っています。 'マージン'
20 背景サイズの指定が間違っています。 '背景サイズ'
21 背景画像ファイルが指定されていません。
22 背景画像ファイルが存在しません。 '背景画像ファイル名'
23 貼り付け位置の指定が間違っています。 '貼り付け位置'
24 ガンマ補正ガンマ値の指定が間違っています。 'ガンマ補正ガンマ値'
25 減色アルゴリズムの指定が間違っています。 '減色アルゴリズム'
26 2値化アルゴリズムの指定が間違っています。 '2値化アルゴリズム'
27 2値化閾値の指定が間違っています。 '2値化閾値'
28 色深度の指定が間違っています。 '色深度'
29 品質の指定が間違っています。 '品質'
30 圧縮形式の指定が間違っています。 '圧縮形式'
31 入力画像ファイルのフォーマットは対応していないフォーマットです。 'フォーマット'
32 出力画像ファイルのフォーマットは対応していないフォーマットです。 'フォーマット'
33 読み込みリトライ回数を超えました。指定された入力画像ファイルは読み込めませんでした。 '入力画像ファイル名'
34 指定された入力画像ファイルは画像として認識できません。 (対応していない画像フォーマット、画像ファイルではない、画像ファイルが壊れている、など) '入力画像ファイル名'
35 トリミング範囲が存在しません。 (トリミング範囲の幅または高さがマイナス値)
36 読み込みリトライ回数を超えました。指定された背景画像ファイルは読み込めませんでした。 '背景画像ファイル名'
37 指定された背景画像ファイルは画像として認識できません。 (対応していない画像フォーマット、画像ファイルではない、画像ファイルが壊れている、など) '背景画像ファイル名'
38 書き込みリトライ回数を超えました。指定された出力画像ファイルは書き込めませんでした。 '出力画像ファイル名'
99 例外が発生しました。 'エラーメッセージ'

注意事項

  • サイズ、解像度、色深度を指定しなかった時は、入力画像ファイルの値を引き継ぎます。
  • 入力画像ファイル、出力画像ファイル、共にtiffで、圧縮形式を指定しなかった時は、入力画像ファイルの圧縮形式を引き継ぎます。
  • インデックスカラー(パレットカラー)の画像は、RGBカラーに変換してから画像処理を行います。 色深度を指定しない場合は、画像を出力する際に元のインデックスカラーの設定を復元しますが、パレット情報は異なる内容となります。 ※ 色深度8ビット(256色)以下の画像は、ほぼインデックスカラーです。
  • 画像フォーマットの多くは、異なる水平解像度と垂直解像度に対応していますが、一般的な画像ビューアーは、水平解像度と垂直解像度が同じ値である事(正方形ピクセル)を前提としています。 この為、異なる水平解像度と垂直解像度が設定された画像は、想定したアスペクト比の画像として表示されない事があります。 ※ 異なる水平解像度と垂直解像度の画像を適切に表示する為には、異なる水平解像度と垂直解像度に対応した画像ビューアーを使用してください。
  • 画像処理の際、各値は四捨五入した整数値のピクセルに変換されます。小さな値を指定した場合は、整数値への変換の誤差が感じられる事があります。
  • リサイズ、トリミング、パディング設定、マージン設定、背景サイズ設定、背景画像設定、グレースケール、減色、2値化、解像度変更などの処理を行うと、入出力の画像フォーマットが同じであってもExifは削除されます。

ライセンスについて

PictureToolは、eDocArrangementの購入者にライセンスされます。試用については、eDocArrangementと同じ期間、試用できます。

動作に必要なライブラリー

.NET Framework 4.6.2 以降

更新履歴

2024/07/05 Version 1.4.3

  • 可変引数のスイッチの引数に対象外のスイッチが含まれていた時はエラーにしないように修正。

2023/05/08 Version 1.4.2

  • インデックスカラー向けの減色(-cra)を追加。指定可能な減色アルゴリズムは以下の5つ。
    オーダードディザリング、フロイドスタインバーグディザリング、シエラライトディザリング、スタッキーディザリング、アトキンソンディザリング
    ※ 上記の減色処理は処理に少々時間がかかります。
  • 対象外のスイッチを指定した時にエラーとなるように修正。

2022/06/30 Version 1.4.1

  • .NET Framework 4.6 から .NET Framework 4.6.2 に変更。
  • 出力画像ファイル書き込み処理を調整。書き込みオープンした書き込みファイルストリームを出力ビットマップに渡してファイル出力するようにした。
  • 出力画像ファイル書き込みのリトライ処理を調整。書き込みファイルストリーム生成時に画像ファイルがロックされている時のみリトライを行うようにした。
  • 上下左右の値を指定できるオプション全般にて % で値を指定した際に、上下は高さ、左右は幅を元にピクセル数を計算していなかった不具合を修正。

2021/06/18 Version 1.4.0

  • .NET Framework 2.0 から .NET Framework 4.6 に変更。
  • inch のスペルが間違っていた箇所があったので修正。
  • 出力画像ファイル書き込み処理をリトライするようにした。
  • 入力画像ファイルのオープンの際のエラー判定を以前より厳密に行うように変更。画像ファイルがロックされている時のみリトライを行うようになった。画像として認識できない時はリトライせずに即座にエラーとなり終了する。(今までは、画像ファイルのオープンの際のエラーは全てリトライしていた)
  • 入力画像ファイルがマルチページtiffの時に色深度(-cd)のみ指定すると、出力画像ファイルの全てのページが入力画像ファイルの1ページ目になってしまう不具合を修正。
  • トリミングのオプション引数の内容によって、正しくトリミングできない事がある問題を修正。
  • 画像2分割を指定しても、分割した一方の画像ファイルのみ出力される問題を修正。
  • 貼り付け位置にマイナス座標を指定できるように変更。
  • 指定した背景画像ファイルの指定位置に入力画像を貼り付ける機能(-pp)を追加。
  • ガンマ補正(-gc)を追加。
  • グレースケール(-gs)を追加。
  • 2値化(-ba)を追加。指定可能な2値化アルゴリズムは以下の4つ。
    閾値設定、ランダムディザリング、オーダードディザリング、誤差拡散法
    ※ ランダムディザリング、オーダードディザリング、誤差拡散法、の3つの2値化アルゴリズムは独自実装したので、処理速度は遅めとなる。グレースケールと2値化の閾値設定は、.NET FrameworkのBitmapクラスの機能を使用している。

2018/07/12 Version 1.3.4

  • 結果ファイルを指定しても、入力画像ファイルが存在しないエラーが発生した際に、結果ファイルに書き込まれない不具合を修正。
    この不具合は、当初は存在していなかったが、1.3.3.0 でのパラメーター解析ロジック刷新の際に発生していた。

2018/08/17 Version 1.3.5

  • 出力画像が複数ページとなる、かつ、出力画像ファイルがマルチページ対応フォーマットではない場合に、出力画像ファイルが常にカレントフォルダーに出力されてしまう不具合を修正。(出力画像ファイルに含まれるフォルダーが無視されてしまう)
    この不具合は、1.2.3.0 でページ分割を追加した際に発生していた。

2018/07/10 Version 1.3.3

  • パラメーターの解析ロジックを刷新。各スイッチに対しての値は常に1つとした。これにより、パラメーターの値の先頭の - のエスケープ問題は無くなった。
  • 入力画像ファイルを複数指定できるように変更。出力画像ファイルがマルチページ対応フォーマットの時は、複数の入力画像を1ファイルに束ねた画像が出力される。
  • 入力画像ファイルを複数指定する際は、-i 入力画像ファイル名1 -i 入力画像ファイル名2 -i 入力画像ファイル名3 ... のように、スイッチ -i につき1つの入力画像ファイル名を指定する。
  • ヘルプの注意点から「パラメーターの値の先頭の - の扱い」についての説明を削除。
  • ヘルプの注意点に以下の内容を追加。
    画像ファイル名やオプション値にスペースが含まれる場合はダブルクォートで括ってください。
    画像フォーマットの多くは、異なる水平解像度と垂直解像度に対応していますが、一般的な画像ビューアーは、水平解像度と垂直解像度が同じ値である事(正方形ピクセル)を前提としています。
    この為、異なる水平解像度と垂直解像度が設定された画像は、想定したアスペクト比の画像として表示されない事があります。
    ※ 異なる水平解像度と垂直解像度の画像を適切に表示する為には、異なる水平解像度と垂直解像度に対応した画像ビューアーを使用してください。

2018/04/25 Version 1.3.2

  • パラメーターの値の先頭が \- の場合、エスケープされた - とみなして、\- を - に変換するように修正。
  • ヘルプの注意点に以下の内容を追加。
    先頭に - が付いたパラメーターはスイッチとみなします。
    先頭に - を含む値を指定したい場合は、- の前(先頭)に \ を付けてください。
    UNCはそのまま記述できます。
    例)
    -i -sample.jpg → -i \-sample.jpg
    -i \\HostName\ShareName\FileName
    ※ UNCの先頭の \\ はそのまま

2018/04/20 Version 1.3.1

  • パラメーターの値の先頭が \ の場合、エスケープされているとみなして、\ を削除するように修正。
  • ヘルプの注意点に以下の内容を追加。
  • 画像処理の際、各値は四捨五入した整数値のピクセルに変換されます。小さな値を指定した場合は、整数値への変換の誤差が感じられる事があります。

2018/04/19 Version 1.3.0

  • 水平解像度と垂直解像度が2倍程異なる画像に対して、ページ分割(-sp)を行うと、長い方の辺ではなく短い方の辺で分割されてしまう不具合を修正。(縦横それぞれ解像度を考慮した値で辺の長さを判定するように修正)
    この不具合は、1.2.3.0 でページ分割を追加した際に発生していた。
  • サイズ(-s)を追加。幅(-w)と高さ(-h)に変わる新しい幅と高さの指定方法となる。幅(-w)と高さ(-h)は非推奨だが、機能としては残してある。
  • パディング設定(-p)、マージン設定(-m)、背景サイズ設定(-bs)を追加。
  • 貼り付け位置指定(-pp)を追加。背景サイズ設定(-bs)を指定した時に有効となる。
  • パディング背景色(-bcp)を追加。パディング設定(-p)を指定した時に有効となる。
  • マージン背景色(-bcm)を追加。マージン設定(-m)を指定した時に有効となる。
  • 画像を出力するフォルダーが存在しない時にフォルダーを作成(-omf)を追加。
  • 処理結果を出力するフォルダーが存在しない時にフォルダーを作成(-zmf)を追加。
  • ヘルプに注意点を追加。内容は以下の通り。
    サイズ、解像度、色深度を指定しなかった時は、入力画像ファイルの値を引き継ぎます。
    入力画像ファイル、出力画像ファイル、共にtiffで、圧縮形式を指定しなかった時は、入力画像ファイルの圧縮形式を引き継ぎます。
    インデックスカラー(パレットカラー)の画像はRGBカラーに変換してから画像処理を行います。
    色深度を指定しない場合は、画像を出力する際に元のインデックスカラーの設定を復元しますが、パレット情報は異なる内容となります。
    ※ 色深度8ビット(256色)以下の画像は、ほぼインデックスカラーです。
    異なる水平解像度と垂直解像度に対応していない画像フォーマットに、異なる水平解像度と垂直解像度を指定しても、想定したアスペクト比の画像にはなりません。
    ※ tiff以外の多くの画像フォーマットでは、水平解像度と垂直解像度が同じ値である事を前提としています。
    リサイズ、トリミング、パディング設定、マージン設定、背景サイズ設定、解像度変更などの処理を行うと、入出力の画像フォーマットが同じであってもExifは削除されます。

2017/08/23 Version 1.2.4

  • 機能的な変更は無し。
  • 内部のコードの調整。

2017/07/05 Version 1.2.3

  • トリミング範囲マージン指定(-tm)を追加。トリミングは以下の2つの指定が可能となった。
    トリミング範囲指定: 左上X座標, 左上Y座標, 幅, 高さ
    トリミング範囲マージン指定: 上下左右のマージンを指定 (CSSと似たような指定)
  • 値の単位指定に % を追加。
  • ページ分割(-sp)を追加。長い方の辺を基準に画像を2分割する。
  • 出力画像のフォーマットをマルチページとせずに複数ファイルに出力(-os)を追加。

2017/01/14 Version 1.1.0

  • 値の単位指定に inch を追加。1つのスイッチで複数の値を指定するタイプでの単位の混在も可能とした。
  • 解像度(-r)を追加。
  • 解像度設定タイミング(-rst)を追加。
  • 背景色(-bc)を追加。入力画像ファイルが透過画像の時のみ有効。
  • 色深度(-cd)を追加。
  • 圧縮形式(-c)を追加。tiff形式専用。

2013/11/15 Version 1.0.1

  • 幅と高さの指定を長い辺と短い辺の指定とみなして自動調整(-awh)を追加。
  • アスペクト比維持で指定された幅と高さに収まるように自動調整(-fa)を追加。

2012/05/01 Version 1.0.0

  • 新規リリース。