bmpcutの奇妙な現象

画像を等分割するbmpcut命令。分割後のファイル名が投げやりなのはほんとご愛嬌として、α画像から影画像を生成するのに役に立った。

bmpcut "元画像",2,1

これで画像そのものとマスク画像にわかれてくれる訳だ。
ほとんどの場合この命令は期待した動作をしてくれるが、以下の条件を満たした場合にのみ、違う挙動をする。
私が確認した限りでは、

  • 元画像がbmpである。
  • 元画像がα画像である。
  • 元画像が、arc.nsaで圧縮されている。
  • transmode alphaをdefine節で宣言している。

この時、マスク画像が無視されて本来の画像部分が二分割されてしまう。
これを回避するために、ツールキットではtransmode alphaを使わず、lspにはいつもタグを使うようにした。
……transmode alphaとか、bmpnsa圧縮などで最適化がかかってこんな風になってるんだろうなーっと。