フリーの画像ビューア「Linar.exe」用に、横2×縦4のサムネイルで画像情報を表示する「印刷定義ファイル」を作成

Windows用のフリーの画像ビューア「Linar.exe」は大変便利です。「Susie」というソフトのプラグインに対応しているし、たくさんの画像のサムネイルリストを印刷できるしで。USBメモリ内でも使えます。
ただ、付属のサムネイルリストパターンでファイル名を付けて出せるのは1ページ当たり5×6で、細部を見たい場合(って、今回は、新しくパソコンのテキストを書くときに、前に使った画像リストをサムネイル印刷して、今度のキャプチャの参考にしたいっていうマニアックな用途)にはちょっと小さかったですね。
なので、付属の印刷定義ファイルを改造して、1シート当たり2×4で、ファイル名+画素数+カラーモードが出せるような印刷定義ファイルを書いてみました。バグがあったらごめんなさいね。

  1. 秀丸」などテキストエディタを開きます。
  2. 以下の行枠内の文字をコピー&ペーストします。
  3. 「sheet2x4_name_size.dps」などのファイル名にしてLinar.exeと同じフォルダ内に保存してください。
  4. 「Linar.exe」でサムネイル化したい画像ファイルを選択して「印刷」するとき、「印刷定義ファイル」でこの「sheet2x4_name_size.dps」を選択してください。

2012/2/3 訂正

初稿で公開した『sheet2x4_name_size.dps』にて、9枚以上の画像サムネイルをまとめてこの設定ファイルで印刷しようとすると、9番目、17番目、25番目....の画像が飛ばされてしまうバグがあったので、訂正版を公開致します。

;--------------------------------------------------------------------------
; Linar Print Define
;
; contact sheet  A4縦 用
;
;
; T.O.Software Development Works. (C) 2000.
; 行先頭文字が;の行はコメント行
;--------------------------------------------------------------------------

;BoxTo,0,0,PAGEMAX_X,PAGEMAX_Y,000000,0

; 余白
Let, OFFSX, 2
Let, OFFSY, 2

; 画像間隔
Let, MRGX, 1
Let, MRGY, 1
; 画像情報間隔
Let, MRGS, 9

; 画像サイズ
Let, PICX, (PAGEMAX_X-OFFSX*2-MRGX*(2-1))/2
Let, PICY, (PAGEMAX_Y-OFFSY*2-MRGY*(4-1))/4-MRGS

; 描画位置
Let, PICX1, OFFSX
Let, PICX2, PICX1+PICX+MRGX
Let, PICY1, OFFSY
Let, PICY2, PICY1+PICY+MRGS+MRGY
Let, PICY3, PICY2+PICY+MRGS+MRGY
Let, PICY4, PICY3+PICY+MRGS+MRGY

; 画像情報文字の位置
Let, SOFS1, 0.5
Let, SOFS2, 4.5
Let, SOFS3, 8.5

; 1段目
PictureBox,PICX1,PICY1,PICX1+PICX,PICY1+PICY,15
String,PICX1,PICY1+PICY+SOFS1,PICX1+PICX,PICY1+PICY+SOFS2,"$(PicName)",000000,MS Pゴシック,9,12
String,PICX1,PICY1+PICY+SOFS2,PICX1+PICX,PICY1+PICY+SOFS3,"$(Width)x$(Height) $(Color) bit",000000,MS Pゴシック,9,12

NextPicture
PictureBox,PICX2,PICY1,PICX2+PICX,PICY1+PICY,15
;BoxTo,PICX2,PICY1,PICX2+PICX,PICY1+PICY
String,PICX2,PICY1+PICY+SOFS1,PICX2+PICX,PICY1+PICY+SOFS2,"$(PicName)",000000,MS Pゴシック,9,12
String,PICX2,PICY1+PICY+SOFS2,PICX2+PICX,PICY1+PICY+SOFS3,"$(Width)x$(Height) $(Color) bit",000000,MS Pゴシック,9,12

; 2段目
NextPicture
PictureBox,PICX1,PICY2,PICX1+PICX,PICY2+PICY,15
;BoxTo,PICX1,PICY2,PICX1+PICX,PICY2+PICY
String,PICX1,PICY2+PICY+SOFS1,PICX1+PICX,PICY2+PICY+SOFS2,"$(PicName)",000000,MS Pゴシック,9,12
String,PICX1,PICY2+PICY+SOFS2,PICX1+PICX,PICY2+PICY+SOFS3,"$(Width)x$(Height) $(Color) bit",000000,MS Pゴシック,9,12

NextPicture
PictureBox,PICX2,PICY2,PICX2+PICX,PICY2+PICY,15
;BoxTo,PICX2,PICY2,PICX2+PICX,PICY2+PICY
String,PICX2,PICY2+PICY+SOFS1,PICX2+PICX,PICY2+PICY+SOFS2,"$(PicName)",000000,MS Pゴシック,9,12
String,PICX2,PICY2+PICY+SOFS2,PICX2+PICX,PICY2+PICY+SOFS3,"$(Width)x$(Height) $(Color) bit",000000,MS Pゴシック,9,12

; 3段目
NextPicture
PictureBox,PICX1,PICY3,PICX1+PICX,PICY3+PICY,15
String,PICX1,PICY3+PICY+SOFS1,PICX1+PICX,PICY3+PICY+SOFS2,"$(PicName)",000000,MS Pゴシック,9,12
String,PICX1,PICY3+PICY+SOFS2,PICX1+PICX,PICY3+PICY+SOFS3,"$(Width)x$(Height) $(Color) bit",000000,MS Pゴシック,9,12

NextPicture
PictureBox,PICX2,PICY3,PICX2+PICX,PICY3+PICY,15
;BoxTo,PICX2,PICY3,PICX2+PICX,PICY3+PICY
String,PICX2,PICY3+PICY+SOFS1,PICX2+PICX,PICY3+PICY+SOFS2,"$(PicName)",000000,MS Pゴシック,9,12
String,PICX2,PICY3+PICY+SOFS2,PICX2+PICX,PICY3+PICY+SOFS3,"$(Width)x$(Height) $(Color) bit",000000,MS Pゴシック,9,12

; 4段目
NextPicture
PictureBox,PICX1,PICY4,PICX1+PICX,PICY4+PICY,15
String,PICX1,PICY4+PICY+SOFS1,PICX1+PICX,PICY4+PICY+SOFS2,"$(PicName)",000000,MS Pゴシック,9,12
String,PICX1,PICY4+PICY+SOFS2,PICX1+PICX,PICY4+PICY+SOFS3,"$(Width)x$(Height) $(Color) bit",000000,MS Pゴシック,9,12

NextPicture
PictureBox,PICX2,PICY4,PICX2+PICX,PICY4+PICY,15
String,PICX2,PICY4+PICY+SOFS1,PICX2+PICX,PICY4+PICY+SOFS2,"$(PicName)",000000,MS Pゴシック,9,12
String,PICX2,PICY4+PICY+SOFS2,PICX2+PICX,PICY4+PICY+SOFS3,"$(Width)x$(Height) $(Color) bit",000000,MS Pゴシック,9,12



以下は初稿。バグがあるので使わないでください。

;--------------------------------------------------------------------------
; Linar Print Define
;
; contact sheet  A4縦 用
;
;
; T.O.Software Development Works. (C) 2000.
; 行先頭文字が;の行はコメント行
;--------------------------------------------------------------------------

;BoxTo,0,0,PAGEMAX_X,PAGEMAX_Y,000000,0

; 余白
Let, OFFSX, 2
Let, OFFSY, 2

; 画像間隔
Let, MRGX, 1
Let, MRGY, 1
; 画像情報間隔
Let, MRGS, 9

; 画像サイズ
Let, PICX, (PAGEMAX_X-OFFSX*2-MRGX*(2-1))/2
Let, PICY, (PAGEMAX_Y-OFFSY*2-MRGY*(4-1))/4-MRGS

; 描画位置
Let, PICX1, OFFSX
Let, PICX2, PICX1+PICX+MRGX
Let, PICY1, OFFSY
Let, PICY2, PICY1+PICY+MRGS+MRGY
Let, PICY3, PICY2+PICY+MRGS+MRGY
Let, PICY4, PICY3+PICY+MRGS+MRGY

; 画像情報文字の位置
Let, SOFS1, 0.5
Let, SOFS2, 4.5
Let, SOFS3, 8.5

; 1段目
PictureBox,PICX1,PICY1,PICX1+PICX,PICY1+PICY,15
String,PICX1,PICY1+PICY+SOFS1,PICX1+PICX,PICY1+PICY+SOFS2,"$(PicName)",000000,MS Pゴシック,9,12
String,PICX1,PICY1+PICY+SOFS2,PICX1+PICX,PICY1+PICY+SOFS3,"$(Width)x$(Height) $(Color) bit",000000,MS Pゴシック,9,12
NextPicture

PictureBox,PICX2,PICY1,PICX2+PICX,PICY1+PICY,15
;BoxTo,PICX2,PICY1,PICX2+PICX,PICY1+PICY
String,PICX2,PICY1+PICY+SOFS1,PICX2+PICX,PICY1+PICY+SOFS2,"$(PicName)",000000,MS Pゴシック,9,12
String,PICX2,PICY1+PICY+SOFS2,PICX2+PICX,PICY1+PICY+SOFS3,"$(Width)x$(Height) $(Color) bit",000000,MS Pゴシック,9,12
NextPicture

; 2段目
PictureBox,PICX1,PICY2,PICX1+PICX,PICY2+PICY,15
;BoxTo,PICX1,PICY2,PICX1+PICX,PICY2+PICY
String,PICX1,PICY2+PICY+SOFS1,PICX1+PICX,PICY2+PICY+SOFS2,"$(PicName)",000000,MS Pゴシック,9,12
String,PICX1,PICY2+PICY+SOFS2,PICX1+PICX,PICY2+PICY+SOFS3,"$(Width)x$(Height) $(Color) bit",000000,MS Pゴシック,9,12
NextPicture

PictureBox,PICX2,PICY2,PICX2+PICX,PICY2+PICY,15
;BoxTo,PICX2,PICY2,PICX2+PICX,PICY2+PICY
String,PICX2,PICY2+PICY+SOFS1,PICX2+PICX,PICY2+PICY+SOFS2,"$(PicName)",000000,MS Pゴシック,9,12
String,PICX2,PICY2+PICY+SOFS2,PICX2+PICX,PICY2+PICY+SOFS3,"$(Width)x$(Height) $(Color) bit",000000,MS Pゴシック,9,12
NextPicture

; 3段目
PictureBox,PICX1,PICY3,PICX1+PICX,PICY3+PICY,15
String,PICX1,PICY3+PICY+SOFS1,PICX1+PICX,PICY3+PICY+SOFS2,"$(PicName)",000000,MS Pゴシック,9,12
String,PICX1,PICY3+PICY+SOFS2,PICX1+PICX,PICY3+PICY+SOFS3,"$(Width)x$(Height) $(Color) bit",000000,MS Pゴシック,9,12
NextPicture

PictureBox,PICX2,PICY3,PICX2+PICX,PICY3+PICY,15
;BoxTo,PICX2,PICY3,PICX2+PICX,PICY3+PICY
String,PICX2,PICY3+PICY+SOFS1,PICX2+PICX,PICY3+PICY+SOFS2,"$(PicName)",000000,MS Pゴシック,9,12
String,PICX2,PICY3+PICY+SOFS2,PICX2+PICX,PICY3+PICY+SOFS3,"$(Width)x$(Height) $(Color) bit",000000,MS Pゴシック,9,12
NextPicture

; 4段目
PictureBox,PICX1,PICY4,PICX1+PICX,PICY4+PICY,15
String,PICX1,PICY4+PICY+SOFS1,PICX1+PICX,PICY4+PICY+SOFS2,"$(PicName)",000000,MS Pゴシック,9,12
String,PICX1,PICY4+PICY+SOFS2,PICX1+PICX,PICY4+PICY+SOFS3,"$(Width)x$(Height) $(Color) bit",000000,MS Pゴシック,9,12
NextPicture

PictureBox,PICX2,PICY4,PICX2+PICX,PICY4+PICY,15
String,PICX2,PICY4+PICY+SOFS1,PICX2+PICX,PICY4+PICY+SOFS2,"$(PicName)",000000,MS Pゴシック,9,12
String,PICX2,PICY4+PICY+SOFS2,PICX2+PICX,PICY4+PICY+SOFS3,"$(Width)x$(Height) $(Color) bit",000000,MS Pゴシック,9,12
NextPicture