โมดูลนี้ขยายคลาส FrameBuffer ในโมดูล framebuf ของ Micropython มันช่วยให้การวาดภาพข้อความสองเท่าสาม, สี่เท่าและขนาดใหญ่กว่าไปยังวัตถุ framebuffer โดยใช้ตัวอักษรในตัวที่มีให้ในโมดูล FrameBuf
รวมถึงวิธีการวาดรูปสามเหลี่ยมและวงกลม สิ่งเหล่านี้สามารถสรุปได้เท่านั้นหรือเติมเต็ม
โมดูลได้รับการทดสอบบน Raspberry Pi Pico ด้วยจอแสดงผล SH1107 128x128 พิกเซล มันควรทำงานกับวัตถุ micropython framebuffer ทั้งหมด
large_text(s, x, y, m [, c=1] [, r=0 [, t=None]])
เขียนข้อความ s ไปยัง framebuffer โดยใช้พิกัด x และ y เป็นมุมบนซ้ายของข้อความ สีของข้อความสามารถกำหนดได้โดยอาร์กิวเมนต์เสริม c แต่เป็นอย่างอื่นเป็นค่าเริ่มต้นของ 1 พารามิเตอร์ m ตั้งค่าขนาดหลายตัวสำหรับข้อความ ขนาดปกติสำหรับข้อความด้วยวิธี 'frameBuffer.Text ()' คือ 8x8 พิกเซล นี่จะเป็นหลายของ 1 เพื่อให้ได้เอาต์พุตข้อความที่ใหญ่กว่าด้วยอักขระ 16x16 พิกเซลตัวอย่างเช่นใช้ 2 สำหรับพารามิเตอร์ M พารามิเตอร์เสริม R ควบคุมการหมุนของข้อความ 0 องศาเป็นค่าเริ่มต้น 90, 180 และ 270 องศาเป็นไปได้ นอกจากนี้พารามิเตอร์ T จะเปิดใช้งานอักขระแต่ละตัวภายในสตริงสามารถหมุนได้อย่างอิสระเป็น 0, 90, 180 หรือ 270 องศา
circle(x0, y0, radius, c [, f:bool] )
วาดวงกลมที่อยู่กึ่งกลางบน x0, y0 ด้วย radius ที่ระบุและสีขอบ, c (จำนวนเต็ม) เติมเต็มวงกลมโดยเพิ่ม f=True
triangle(x0, y0, x1, y1, x2, y2, c [, f:bool] )
วาดรูปสามเหลี่ยมที่มีจุดยอดที่จุด x0,y0 , x1,y1 และ x2,y2 และสีขอบ, c (จำนวนเต็ม) เติมเต็มวงกลมโดยเพิ่ม f=True
ตัวอย่างการใช้:
# display is a framebuffer object
display.large_text('double', 0, 0, 2, 1) # double size text
display.large_text('size!', 0, 16, 2, 1)
display.large_text('HUGE', 0, 32, 4, 1) # quadruple size text
# draw a circle centred at point (x=64, y=64) with radius 56 and colour 1.
display.circle(64, 64, 56 , c=1)
display.circle(64, 64, 48 , c=1, f=True) # filled circle
# draw a filled triangle with corners at (x=0, y=0), (x=0, y=127) and (x=127, y=127)
# filled with colour 1.
display.triangle(0, 0, 0, 127, 127, 127, c=1, f=True)
ตัวอย่างเพิ่มเติมรวมอยู่ในรหัสตัวอย่างสำหรับไดรเวอร์การแสดงผล SH1107 นี้
ใช้สิ่งต่อไปนี้เพื่อนำเข้าโมดูลและขยายคลาส Framebuffer
import framebuf2 as framebuf
คลาส FrameBuffer จะเสนอวิธีการเพิ่มเติมเหล่านี้นอกเหนือจากวิธีมาตรฐานทั้งหมด
ทำงานร่วมกับ Micropython เวอร์ชัน 1.19.1 จะทำงานร่วมกับเวอร์ชันอื่น ๆ