コマンドラインオプション
$ rqimage [options] <FILES...>


-f,--file [FILE]コマンドが記述されたファイルを指定する。
-c,--cmd [STR]コマンドを直接指定する。
-o,--output [FILE or DIR]出力ファイル、または、出力ディレクトリ。
省略した場合、カレントディレクトリになります。

指定されたパスが存在し、それがディレクトリの場合のみ、出力ディレクトリとして扱います。
存在しないパスの場合は、出力ファイル名として扱われます。

出力先がディレクトリの場合、出力ファイル名は、DIR/PREFIX + INPUT_FILENAME + EXT となります。
拡張子は、出力フォーマットによって自動で付けられます。

※出力ファイルがすでに存在する場合、同じファイル名で常に上書きされます。
※出力ファイルが指定された場合、入力画像または画像保存コマンドが複数存在する場合は、同名で複数回上書きされます。
-p,--prefix [STR]出力先がディレクトリの場合、出力ファイルの前に付ける文字列を指定します。
デフォルト = なし

入力ファイルが input.png で、--prefix r_ の場合、"<DIR>/r_input.<EXT>" のファイル名で出力されます。
-V,--versionバージョン情報を表示します。
--helpヘルプを表示します。
使用例
PNG -> JPEG (リサイズ)
2つの PNG ファイルを、高さ 800 px にリサイズして、JPEG で保存します。

$ rqimage -o out -c "resize(h=800);save_jpeg(quality=90)" input1.png input2.png

出力ファイルは、"out/input1.jpg", "out/input2.jpg" になります。
PNG (RGBA) -> GIF
アルファ値付きの PNG を、赤の背景色で合成した後、256色に減色して、GIF に保存します。

なお、RGB(255,0,0) の赤色は、透過色として扱います。
※減色時に RGB(255,0,0) の色が変化してしまわないように、quant(tpcol=0xff0000) で、指定色をそのままの色で維持するようにしています。

$ rqimage -o out.gif -c "blend(col=rgb(255,0,0));quant(tpcol=0xff0000);save_gif(tpcol=0xff0000)" input.png

色の指定は、rgb(R,G,B) または、16進数で直接 0xRRGGBB として表現できます。
画像について
コマンドの基本
コメント
'#' から行末までは、コメントとして扱われます。

# コメント
save_png() # PNG 保存
空白
タブや空白は、任意の位置に置くことができます。

resize ( w = 100, h = 200 )
コマンド
1つのコマンドは、"resize(w=100,h=200)" というように記述します。
コマンド名の後には、常に () を記述して、() の中に必要な引数を記述します。
(コマンドに渡す引数が一つもない場合でも、() は常に記述する必要があります)

改行、または ';' (セミコロン) の文字までが、1つのコマンドとなります。
(一つのコマンドを複数行にまたがって記述することはできません)

コマンドをファイルに記述する場合は、1行ごとにコマンドを記述すれば問題ありません。

複数のコマンドを1行で記述したい場合は、';' を区切りとして使えます。
ただし、空白で区切られていたり、() が区切りとして扱われたり、文字種によって明確にトークンが分けられるような場合は、';' がなくても動作します。

gray();save_png();
gray()save_png()   # OK
save_dpi = 600;save_png()
save_dpi = 600 save_png() # OK
save_dpi = 600save_png()  # OK ('s' は数字トークンに含まれないので、600 と save_png に分けられる)
大文字小文字
コマンド名や引数名、値の文字列などでは、半角アルファベットの大文字小文字は区別されません。

SAVE_PNG()
save_PNG()
コマンドの引数
コマンドの引数は、NAME = VAL の形で記述します。
引数が複数ある場合は、',' (カンマ) で区切ります。

指定されていない引数は、デフォルトの値が使用されます。

なお、一部の引数においては、値を記述する必要がない場合があります。
※引数名は常に指定する必要があります。値だけ指定することはできません。

blur(r=2.0)
blur(2.0)  # エラー
save_psd(uncomp) # 無圧縮 PSD
引数の値
コマンドの引数の値には、以下が指定できます。
(各コマンドの引数によって、指定できる値が明示されています)

数値10進数、16進数 (0x...)、8進数 (0...)

100
-200
0x00ff00
0777  # 8進数
浮動小数点数0.12 のように、'.' が含まれると、浮動小数点数になります。
文字列各コマンドで、特定の文字列を指定できます。
resize(pers=40, type=spline16)
rgb(R,G,B)col=rgb(0,255,255) のように記述すると、32bit 数値として、RGB カラー値を指定できます。
R,G,B は、それぞれ 0〜255 の数値を指定します。
col=0x00ffff のように、16進数でカラー値を直接指定することもできます。
pix(X,Y)イメージ上の指定位置の色。
引数名が tpcol (透過色指定) の場合のみ、tpcol=pix(0,0) というように記述して、現在の処理イメージ上の、指定された px 位置の色を指定できます。
X, Y がイメージ範囲外の位置の場合は、範囲内に調整されます。
設定値の変更コマンド
NAME = VAL で、設定関連の値を変更できます。
コマンド中のどこの位置に記述しても、全体で有効になります。

値が BOOL の場合は、true, false, 0 (false 扱い), 1 (0 以外の数値。true 扱い) を指定できます。
それ以外の値が指定された場合は、true 扱いになります。

# 入力画像の透過色のアルファ値を 0 にしない
load_tp_a0 = false
save_png()
load_tp_a0 = [BOOL]
画像の読み込み時、PNG や GIF で透過色が指定されていた場合、透過色のアルファ値を 0 (透明) にするか。
(default = true)

false の場合、透過色のアルファ値はそのまま (不透明) となります。
save_input_reso = [BOOL]
入力画像に保存されている解像度の値を、DPI 単位で継承して、出力ファイルに保存するか。
(default = true)

※出力フォーマットによっては、解像度を保存できません。

false の場合、出力ファイルに解像度の情報は保存されません。
また、コマンドで画像のリサイズを行った場合、入力の解像度は破棄されます。
save_dpi = [数値]
出力ファイルに保存する解像度の値 (DPI 単位) を直接指定します。
0 以下の値で、無効になります (入力の解像度を継承するか、保存しない)。
(default = 0)

解像度を直接、指定された値で出力したい場合に使用します。
入力の解像度があったとしても、こちらが優先されます。
画像処理コマンド
引数の値は、N = 数値, D = 浮動小数点数, STR = 文字列, COL = RGB色 です。
resize
resize(pers=[D/N], w=[N], h=[N], type=[STR])

画像のリサイズを行います (拡大/縮小)。
アルファ値も考慮してリサイズされます。

pers, w, h のいずれも指定されていない場合、または、結果としてサイズが変わらない場合は、何もしません。
リサイズ後、入力画像の解像度は破棄されます。

persリサイズ後のサイズを % で指定します。
100 で原寸大になります。
w, h よりも優先されます。
浮動小数点数でも指定できます。
w, hリサイズ後の幅と高さを px 単位で指定します。

w, h のいずれかのみ指定されている場合、または、片方の値が 0 以下の場合、指定されていない方のサイズは、縦横比を維持する形で計算されます。
typeリサイズの補間方法を指定します。
長い名前と短い名前の、どちらでも指定できます。
(default = lanczos2)

nearest (nea)
mitchell (mit)
lagrange (lag)
lanczos2 (lc2)
lanczos3 (lc3)
spline16 (s16)
spline36 (s36)
bicubic (bic)
blackmansinc2 (bl2)
blackmansinc3 (bl3)

nearest は、ニアレストネイバーです。ドットを拡大したい時などに使います。
quant
quant(cols=[N], dither=[STR], level=[N], tpcol=[COL])

減色を行います。
xPadie と同じ処理を行うため、比較的綺麗に減色できます。

※アルファ値は無視して、RGB のみ処理されます。
※イメージ上で使用されている色数が、減色の色数以下の場合は、何もしません。

cols減色する色数 (2〜256)
(default = 256)
ditherディザのタイプ。(default = err)

none : ディザを行わず、一番近い色に置き換える。
err : 誤差拡散。元の色と減色後の色との誤差を、周囲に散らします。
mean : 平均誤差。
tone : トーン。規則的なドットパターンを使います。
levelディザの強さ (1〜10)
(default = 2)

値が大きいほど強くなります。
tpcol指定された色を透過色として扱い、減色の対象外とします。
指定された色は、そのままの色で維持されます (色数を1つ消費する)。

イメージ内に、指定された色が存在しない場合は、無視されます。
※実際に透過色として使う場合は、各フォーマットの保存コマンドでも、透過色として指定してください。
cut
cut(left=[N], top=[N], right=[N], bottom=[N])

イメージの上下左右それぞれを、指定 px 分切り取ります。
(default = すべて 0)

すべての値が 0 以下の場合は、何もしません。

left左から切り取る px 数
top上から切り取る px 数
right右から切り取る px 数
bottom下から切り取る px 数
clip
clip(x=[N], y=[N], w=[N], h=[N])

指定範囲でイメージを切り抜きます。
(default = (0,0)-(imgw x imgh))

サイズが変化しない場合は、何もしません。
x, y, w, h は、それぞれ、イメージの範囲内に調整されます。

x, y範囲の左上の位置
w, h新しいイメージの幅と高さ
gray
gray()

色のグレイスケール変換を行います。
アルファ値は変化しません。
mono
mono(th=[N])

色のモノクロ変換を行います。白か黒の2色になります。
アルファ値は変化しません。

thしきい値 (0〜255)
(default = 128)

グレイスケール状態での色が、この値より小さい場合は、黒になります。
gamma
gamma(val=[D/N])

色のガンマ補正を行います。
アルファ値は変化しません。

valガンマ値 (0.1〜5.0)
(default = 1.0)
blend
blend(col=[COL])

指定された背景色と、アルファ合成します。
イメージのアルファ値は、すべて 255 (不透明) になります。

col背景色。
(default = 0xffffff : 白)
blend_check
blend_check(col1=[COL], col2=[COL])

チェック柄背景と、アルファ合成します。
チェック柄の一つのブロックは、8 x 8 px です。

col1 と col2 は、チェック柄の2つの色を指定します。
(default = 0xf0f0f0, 0xa0a0a0)
add_rgb
add_rgb(r=[N], g=[N], b=[N])

RGB 値に、それぞれ指定された値を加算します。
負の値も指定できます。

(default = すべて 0)
blur
blur(r=[D/N])

ガウスぼかしを行います。
アルファ値も考慮されます。

r半径 (0.1〜30)。
(default = 1)

トーンが使用された漫画の画像を縮小する場合、そのままでは、トーン部分にモアレが出て、綺麗に見えません。
縮小する前にガウスぼかしを掛けると、トーンのモアレが軽減します。
ただし、全体的に少しぼやけてしまうので、強く掛けすぎないように注意してください。
画像保存コマンド
現在の処理イメージを、各フォーマットで保存するコマンドです。
このコマンドが一つも記述されていない場合は、何も出力されません。


出力カラータイプ (col)
デフォルトでは、現在のイメージの状態を元に、最適なカラータイプが自動で判断されます。
出力フォーマットによって、使用できるカラータイプは異なります。

※カラータイプが指定されている場合、イメージが自動で変換される場合があります。
この場合、処理イメージ自体が変換されるので、以降にコマンドが続く場合、イメージは変換後の状態になります。

monoモノクロ2値 (1bit で表現されます)。
現在のイメージがモノクロでない場合は、自動でモノクロ変換されます (デフォルトのしきい値で)。
grayグレイスケール (常に 8bit)。
現在のイメージがグレイスケールでない場合は、自動でグレイスケールに変換されます。
gray_aグレイスケール + アルファ値。
現在のイメージがグレイスケールでない場合は、自動でグレイスケールに変換されます。
palパレットカラー (ビット数は自動判定)。
フォーマットによって、使用可能なビット数は異なります。

イメージで実際に使用されている色数を元に、各フォーマットで使用可能な、最小ビット数で出力されます。
なお、イメージで使用されている色数が、256 色を超えている場合は、自動で 256 色に減色されます (quant のデフォルト値で)。
pal8パレットカラー (8bit 固定)
イメージの色数が 256 色を超えている場合は、自動で減色されます。
rgbRGB (アルファ値なし)
rgbaRGBA (アルファ値あり)
save_bmp
save_bmp(col=[STR])

ビットマップ (BMP) で保存します。
拡張子 = *.bmp

col出力カラータイプ。(default = 自動)
pal (1,4,8bit), pal8, rgb, rgba
save_png
save_png(col=[STR], level=[N], tpcol=[COL])

PNG で保存します。
拡張子 = *.png

col出力カラータイプ。(default = 自動)
mono, gray, gray_a, pal (1,2,4,8bit), pal8, rgb, rgba
level圧縮レベル (0〜9)。
(default = 6)

値が大きいほど、圧縮率が高くなり、処理が遅くなります。
0 で無圧縮です。
tpcol透過色の指定。(default = なし)
出力カラータイプが rgba, gray_a 以外の場合に対応しています。
save_gif
save_gif(tpcol=[COL])

GIF で保存します。
拡張子 = *.gif

出力カラータイプは、パレットカラーのみです。
イメージの色数が 256 色を超えている場合、自動で減色されます。

tpcol透過色の指定 (default = なし)
save_jpeg
save_jpeg(col=[STR], quality=[N], samp=[N])

JPEG で保存します。
拡張子 = *.jpg

col出力カラータイプ。(default = 自動)
gray, rgb (実際は YCbCr に変換)
quality品質 (0〜100)。
(default = 88)

値が大きいほど、画質が高くなります。
sampサンプリング比。
数値で、420, 422, 444 のいずれかを指定します。
それ以外の値の場合、デフォルトになります。
(default = 420)

Cb, Cr の色を、水平または垂直方向に間引くことで、色の情報量を減らして、圧縮率を高めます。

420 : 低画質 (水平・垂直に 1/2 間引き)
422 : 中画質 (水平に 1/2 間引き)
444 : 高画質 (間引きなし)
save_webp
save_webp(col=[STR], level=[N], quality=[N])

WebP で保存します。
拡張子 = *.webp

※画像の幅と高さは、最大で 16383 px までです。

col出力カラータイプ。(default = 自動)
rgb, rgba
level[可逆圧縮時] 圧縮レベル (0〜9)
(default = 6)

quality が同時に指定されている場合、level の方が優先されます。
quality[非可逆圧縮時] 品質 (0〜100)
(default = なし)

WebP は、PNG のような可逆圧縮 (劣化なし) と、JPEG のような非可逆圧縮 (劣化あり) の両方を使えます。
level または quality のいずれかを指定して、どちらかを使用します。
いずれも指定されていない場合、デフォルトは level = 6 です。
save_tga
save_tga(col=[STR])

TGA で保存します。
拡張子 = *.tga

col出力カラータイプ。(default = 自動)
gray, pal (常に8bit), rgb, rgba
save_tiff
save_tiff(col=[STR], comp=[STR])

TIFF で保存します。
拡張子 = *.tif

col出力カラータイプ。(default = 自動)
mono, gray, pal (1,2,4,8bit), pal8, rgb, rgba
comp圧縮タイプ。以下の名前を指定します。
(default = lzw)

none : 無圧縮
lzw : GIF と同じ圧縮方法
deflate : PNG と同じ圧縮方法
packbits : ランレングス (圧縮率は低め)
save_avif
save_avif(col=[STR], lossless, quality=[N], speed=[N], samp=[N])

AVIF で保存します。
拡張子 = *.avif

col出力カラータイプ。(default = 自動)
gray, rgb, rgba
lossless可逆圧縮にする。
(default = OFF)
フラグの扱いなので、値は必要ありません。
quality品質 (0〜100)。
(default = 60)
speed圧縮速度 (0〜9)。
(default = 5)

値が小さいほど処理が遅く、圧縮率が高くなります。
※他のフォーマットと比べて圧縮速度が遅いので、値を小さくすると、かなり時間が掛かります。
sampサンプリング比。
数値で、444, 422, 420 のいずれかを指定します。
JPEG と同じです。
(default = 420)
save_psd
save_psd(col=[STR], uncomp)

PSD で保存します。
拡張子 = *.psd

レイヤなしの一枚絵の状態で保存します。

col出力カラータイプ。(default = 自動)
mono, gray, gray_a, rgb, rgba
uncomp無圧縮にする。
(default = OFF)

フラグの扱いなので、値は必要ありません。
デフォルトで、PackBits 圧縮になります。