ex_paint
1.0.0
Expaint是一个简单的2D栅格器,基于EGD库(至少目前)。可用的原始图包括线,矩形,弧,多边形和简单的位图字体支持。支持所得位图的倾倒以几种形式支持,包括基于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/文件夹中此字体集合的内容。