ex_paint
1.0.0
Expaintは、EGDライブラリに基づいた(少なくとも今のところ)単純な2Dラスター剤です。利用可能なプリミティブには、ライン、長方形、アーク、ポリゴン、シンプルなビットマップフォントサポートが含まれます。結果のビットマップのダンプは、SSD1322ベースのOLEDディスプレイなどのデバイスで使用される4ビットグレースケール形式を含む、いくつかのフォームでサポートされています。
ライブラリは今のところEGDに大きく傾いていますが、最終的な目的は、バイナリのピーステーブルのようなものを使用して、パフォーマンスの合成 /ダンピングを提供する最適化された保持モードバッキングストアを実装することです。
alias ExPaint . { Font , Color }
{ :ok , image } = ExPaint . create ( 128 , 64 )
font = Font . load ( "Helvetica20" )
ExPaint . clear ( image )
ExPaint . text ( image , { 10 , 30 } , font , "Hello World" , Color . black ( ) )
ExPaint . filled_rect ( image , { 10 , 10 } , { 20 , 20 } , % Color { r: 230 , g: 12 , b: 34 } )
ExPaint . filled_ellipse ( image , { 50 , 10 } , { 20 , 20 } , % Color { r: 12 , g: 12 , b: 230 } )
ExPaint . filled_triangle ( image , { 90 , 30 } , { 100 , 10 } , { 110 , 30 } , % Color { r: 230 , g: 230 , b: 34 } )
# Write to a png
{ :ok , png_data } = ExPaint . render ( image , ExPaint.PNGRasterizer )
File . write ( "foo.png" , png_data )
# If you're in iTerm, display inline
ExPaint . render ( image , ExPaint.InlineRasterizer )
# If you're pairing with https://github.com/mtrudel/ssd1322
{ :ok , four_bit_data } = ExPaint . render ( image , ExPaint.FourBitGreyscaleRasterizer )
SSD1322 . draw ( session , four_bit_data )次の画像をレンダリングします。

このパッケージは、 ex_paintとegd mix.exsの依存関係のリストに追加することでインストールできます。
def deps do
[
{ :ex_paint , "~> 0.2.0" } ,
{ :egd , github: "erlang/egd" }
]
endドキュメントはhttps://hexdocs.pm/ex_paintにあります。
インストールを容易にするために、このパッケージには/priv/fonts/ folderにあるこのフォントのコレクションのコンテンツが含まれています。