Skip to content

Instantly share code, notes, and snippets.

@tamaina
Last active February 1, 2020 07:18
Show Gist options
  • Save tamaina/1a673bd85bd0e25c1ce96599b8f6156a to your computer and use it in GitHub Desktop.
Save tamaina/1a673bd85bd0e25c1ce96599b8f6156a to your computer and use it in GitHub Desktop.
てっけん 切符の作り方

切符の作り方 (第27期(?) Akyus流)

鉄道研究部では、翠巒祭の展示で毎年きっぷを作っています。私なりの作り方をお教えします。

やりたいこと

エドモンソン券を作っていきます。
エドモンソン券とは、連番付きの5.75x3(cm)の切符のことです。1から順に客に渡すことで、その日の切符の売れ方がわかります。

ずらっと切符の画像が並べたA4サイズの画像を作成して印刷し、カッターなどで切断し切符に仕上るという方針です。


A4シート これを印刷して切り出す

準備するもの

  • 厚めの普通印刷紙 たくさん(光沢がなく、厚いほどそれっぽさが増す)
  • プリンター (インクたくさん)
  • AviUtl (ダウンロード方法とかは調べりゃ出てくるし部員に知ってる人はいるはず)
  • GraphicsMagick
  • MassiGra

切符の画像の作成には、結構強めのスペックのパソコンが必要です。具体的に言うと、生徒会室にあるかないかの17万のデスクトップとか、田中孝介君のノートPCとかレベルのものが必要です。
この作り方ではWindows 10を想定して書いています。完全にWindows向けです。Macはよくわからないので申し訳ないですが、たぶん全く新しいやり方でないとできません。

用意する枚数

1日目は(12時開始の場合)500枚程度 2日目は750枚程度あるとよいです(確か...)

1日目の売れ行きを見て2日目ぶんをもう少しカットする、みたいなことをやってもいいかもしれません。

手順

0. 切符をデザインする

切符のデザインを考えておきましょう。

1. AviUtlで切符を作成

aupの見本→ https://1drv.ms/u/s!AslpdQzTI0zLgp0qqhdO-uuN3uwD7w?e=Exi8sW

1. 拡張編集で新規プロジェクトを作成

拡張編集で新規プロジェクトを作成します。

エドモンソン券の寸法は5.75x3.00(cm)です。
この縮尺に合わせ、例えば 690x360 でプロジェクトを作成し、設定 > サイズの変更 > 指定のサイズでX:690, Y: 360を指定します。
このとき 表示 > 拡大表示 > 100% で等倍表示にしておくと見やすいです。

2. 切符をデザインする

AviUtlで切符のデザインをごりごり作ります。AviUtl以外のほかのソフトウェアで作成した画像を挿入してもかまいません。

3. 連番を作成

連番を出力したいときは、AviUtlのLuaスクリプトを利用します。

① 1フレーム目に次の内容のテキストオブジェクトを配置

<?
t = 1
?>

② 2フレーム目から作りたい切符の枚数ぶんのフレーム数までにわたる、次の内容のテキストオブジェクトを配置

<?
t = t + 1
?>

③ 次の内容のテキストオブジェクトは、0001のように表示します。

<?
obj.mes(
  string.format("%04d", t)
)
?>

obj.mes()()の中身を表示する関数。string.format(フォーマット, 変数)は、フォーマットにしたがって変数をフォーマットする関数です。

スクリプト関連でもしわからないことがあれば、グーグル先生か放送メディア研究部や物理部あたりに聞いてみてください。

シークを戻したり飛ばしたりしても「フレーム数」にはならずそのまま加算されていきますが、連番出力するときはちゃんとフレーム数と同じになるため気にする必要はありません。

参考:
https://simutrans128.blog.fc2.com/blog-entry-397.html
https://qiita.com/nagtos/items/76c7b195ad8cf2d4857d#%E3%82%BC%E3%83%AD%E5%9F%8B%E3%82%81

4. 連番PNG出力

AviUtlには「連番BMP出力」がありますが、それではとてもPCの容量が足りないので、冒頭でインストールしたプラグインを利用しPNGで出力します。
ファイル > プラグイン出力 > 連番PNG出力

空のフォルダを作成し、そこに保存します。
保存されたファイルはそれぞれ「(入力したファイル名)_(連番).png」のような名前になっています。

2. 出力されたファイルを接合する

A41枚につき、縦8行x横3列になるように接合していきます。

連番PNGを保存したファイルをエクスプローラーで開き、右クリック > 新規作成 > テキスト ドキュメントを作成。ファイル名が編集できるようになるので、末尾の.txtごと消してmontage.batと命名します。拡張子が変更されるが大丈夫かと聞かれますが、大丈夫です。

montage.batを選択 > 右クリック > 編集 で中身を編集します。以下の内容を貼り付けてください。

gm montage -tile 3x8 -geometry 690x360+1+1 +adjoin *.png joined\joined_%%04d.png

ファイル > 上書き保存 で保存し、編集画面を閉じます。

新しく「joined」という名前のフォルダーを作成してください。

そして、montage.batをダブルクリックしてください。処理が始まります。
処理が完了すると、joinedフォルダに結合された画像が出力されています。

3. 印刷する

A4の場合、余白が横・計3.75cm(たとえば左2cm・右1.75cm)になるようにし、なるべくきれいに印刷します。
(ちなみに、余白縦は計4.1cmになりますが、横が決まれば縦は勝手に決まるため省略。接合の際に余りが出ると縦基準だと縮尺が違っちゃいます)

今回は印刷にMassiGraを使用します。

MassiGraで1枚目の画像(joined_0000.png)を開きます。
開き方としては、画像をMassiGra.exeにドラッグアンドドロップするとか、画像を右クリック > プログラムから開く > 別のプログラムを選択 > 下にスクロールしてその他のアプリ > このPCで別のプログラムを探すMassiGra.exeを選択して開くを押す とかで開けます。 画像を開けたら、右クリック > ファイル > 印刷(ショートカットキーはCtrl + P)で余白などを設定します。OKを押すと印刷が開始されます。

スペースキーを押すとフォルダ内の次の画像を表示します。バックスペースキーでフォルダ内の前の画像を表示します。

4. 切る

印刷した紙をひたすら一枚ずつに切り分けます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment