ASCIImage - PhotoshopをNSStringで置き換えるライブラリ

NewImage

PhotoshopをNSStringで置き換える…とは少し言い過ぎかもしれませんが、NSStringで定義したアスキーアートからベクター図形を生成できる、iOS/Mac用ライブラリ「ASCIImage」が公開され話題となっています(Hacker NewsReddit)。ライセンスはMITライセンスです。

ASCIImage開発の経緯は、作成したCharles Parnot氏のブログで詳しく説明されていて、アスキーアートを使うことで、ソースコード内で直接確認できる形式で図形を定義することができる利点が挙げられています。これまで、直接ソースコードで図形を描画する場合、難解かつ大量のソースコードが必要で、管理が難しかったためです。

使用方法

NSStringの配列でアスキーアートを定義し、「+imageWithASCIIRepresentation:color:shouldAntialias」を呼び出すことでUIImageまたはNSImageを生成することができます。

Asciiimage

NSStringの配列の中で定義されているアスキーアートの記号の意味を理解するには、以下の図が分かりやすいと思います。

NewImage

簡単に説明すると、ドットとシャープは無視され、数字の順(1->2->3->4->5...)にパスが引かれて、ベクター図形の矢印が完成します。

NewImage

↑この発展形として、同じ数字を2個使うと直線を引くことができます。

NewImage

↑孤立した数字を1つ使うと点が、同じ数字を3つ以上使うと楕円が描画できます。この他実際はさらにいろいろな機能が実装されています。詳しくは開発者ブログ、もしくはGitHubのドキュメントを参照してください。

2015 03 25 19 59 09

GitHubで公開されているASCIImageのソースコードには、ライブラリファイルの他、実行可能なサンプルプログラムが付属しています。左上のペインにアスキーアートを貼り付けて「Run」すると右側に生成されたイメージが表示されます。どのような雰囲気か確認するのに使えそうです。

まとめ

Charles Parnot氏は、自作のラボノートアプリFindingsで、実際にASCIImageを使用しているようです。

手作業でアスキーアートを作るのは大変そうですが、最近リリースされた超本格的なアスキーアートエディタMonodrawを使えば、かなり複雑な図形でもASCIImageに変換できるかもしれません。

ASCIImage公式サイトは、ASCIImageエディタや、JavaScript、Node.js、go、ruby、C#/WPFポートへのリンクなどさまざまな情報が集積しています。気になった方は確認してみることをおすすめします。

スポンサーリンク
レクタングル(大)広告
レクタングル(大)広告

フォローする