Expaint ist ein einfacher 2D -Rasterizer, der (zumindest im Moment) auf der EGD -Bibliothek basiert. Zu den verfügbaren Primitiven gehören Linien, Rechtecke, Bögen, Polygone und einfache Bitmap -Schriftunterstützung. Das Ableiten der resultierenden Bitmap wird in einigen Formularen unterstützt, einschließlich eines 4-Bit-Graustufenformats, das von Geräten wie SSD1322-Basis-OLED-Anzeigen verwendet wird.
Die Bibliothek stützt sich vorerst stark auf das EGD, aber es ist die mögliche Absicht, einen optimierten Hintergrundgeschäft für den Vorratsmodus zu implementieren.
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 )wird das folgende Bild rendern:

Dieses Paket kann installiert werden, indem ex_paint und egd zu Ihrer Liste der Abhängigkeiten in mix.exs hinzugefügt werden:
def deps do
[
{ :ex_paint , "~> 0.2.0" } ,
{ :egd , github: "erlang/egd" }
]
endDokumente finden Sie unter https://hexdocs.pm/ex_paint.
Zur einfachen Installation enthält dieses Paket den Inhalt dieser Sammlung von Schriftarten in /priv/fonts/ Ordner.