AA自動作成ツールを作る(みかん)
3年前にAAを自動で作成するツールを作ってバグバグなまま放置してたので腰を据えて作ろうと思う
その時に考えてた基本的なアルゴリズムが以下
1.画像を読み込む
2.画像を微分
3.フォントサイズを指定(文字で幅が変わらない等幅フォントとする)して画像を分割
4.文字のビット列を取得
5.分割した画像それぞれと複数の文字のビット列を比較して最も一致率の高かったものを出力する
win32APIのgetGlyphOutlineで文字のビット列を受け取っていたのですが正直面倒というか・・・
win32APIはあんまり使いたくないのでもっと便利なものがあれば使いたい
一応2年前の状態を張って置く
1と2にあたる部分が以下の画像
左が画像の読み込み部、右が微分して出力した画像
4にあたるのが以下の画像
これは「おやすみ」のビット列を読み込んで適当な文字に置き換えて出力している
上記二つを組み合わせて処理を行った結果が以下
下のが元画像
左がAAとして出力したもの 右が画像のビットマップを0と1で出力したもの
フォントサイズは2である
AAのほうはこんな小さいフォントなら文字とか関係なく元画像と同じように見えるに決まってるだろっていう突っ込みはさておき、画像右側に行くにつれて元画像との違いが出ている
バグだ
続いてフォントサイズ12で作ったもの
もうだめ
とりあえず今後の目標としては
・このブレを直す
・処理が重いので軽量化を目指す
の2点と締めくくっていた
なのでこれから頑張る