ex_paint
1.0.0
Expaint เป็น Rasterizer 2D ที่เรียบง่ายโดยใช้ (อย่างน้อยตอนนี้) ในไลบรารี EGD ดั้งเดิมที่มีอยู่รวมถึงเส้นสี่เหลี่ยมโค้งอาร์ครูปหลายเหลี่ยมและการรองรับแบบอักษรบิตแมปแบบง่าย การทิ้งบิตแมปที่เกิดขึ้นได้รับการสนับสนุนในรูปแบบไม่กี่รูปแบบรวมถึงรูปแบบ Greyscale 4 บิตตามที่ใช้โดยอุปกรณ์เช่นจอแสดงผล OLED ที่ใช้ SSD1322
ห้องสมุดเอนตัวลงอย่างมากใน 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/ โฟลเดอร์