นี่คือไลบรารีกราฟิกหลักสำหรับจอแสดงผลทั้งหมดของเราโดยให้ชุดกราฟิกดั้งเดิม (จุด, บรรทัด, วงกลม ฯลฯ ) จะต้องจับคู่กับไลบรารีเฉพาะฮาร์ดแวร์สำหรับอุปกรณ์แสดงผลแต่ละอุปกรณ์ที่เราพกพา (เพื่อจัดการฟังก์ชั่นระดับล่าง)
Adafruit ลงทุนเวลาและทรัพยากรที่ให้บริการรหัสโอเพนซอร์สนี้โปรดรองรับฮาร์ดแวร์ Adafruit และโอเพนซอร์ซโดยการซื้อผลิตภัณฑ์จาก Adafruit!
เขียนโดย Limor Fried/Ladyada สำหรับ Adafruit Industries ใบอนุญาต BSD ตรวจสอบใบอนุญาต txt สำหรับข้อมูลเพิ่มเติม ข้อความทั้งหมดข้างต้นจะต้องรวมอยู่ในการแจกจ่ายใด ๆ
การเปิดตัว Arduino IDE ล่าสุดรวมถึง Library Manager เพื่อการติดตั้งที่ง่าย มิฉะนั้นในการดาวน์โหลดให้คลิกปุ่มดาวน์โหลดซิป, ไม่บีบอัดและเปลี่ยนชื่อโฟลเดอร์ adafruit_gfx ที่ไม่บีบอัด ยืนยันว่าโฟลเดอร์ ADAFRUIT_GFX มี ADAFRUIT_GFX.CPP และ ADAFRUIT_GFX.H วางโฟลเดอร์ Adafruit_gfx Library ของคุณ ArduinosketchFolder/ Libraries/ Folder ของคุณ คุณอาจต้องสร้างโฟลเดอร์ย่อยของไลบรารีหากเป็นห้องสมุดแรกของคุณ รีสตาร์ท IDE
คุณจะต้องติดตั้งไลบรารี Adafruit Busio ล่าสุด ค้นหา "Adafruit Busio" ใน Library Manager หรือติดตั้งด้วยมือจาก https://github.com/adafruit/adafruit_busio
Image2Code: นี่คือยูทิลิตี้ Java GUI ที่มีประโยชน์ในการแปลงไฟล์ BMP เป็นรหัสอาร์เรย์ที่จำเป็นในการแสดงภาพด้วยฟังก์ชั่น DrawBitMap ตรวจสอบรหัสที่ที่เก็บ GitHub ของ Ehubin: https://github.com/ehubin/adafruit-gfx-library/tree/master/img2code
ฟังก์ชั่น DrawxBitMap: คุณสามารถใช้ตัวแก้ไขรูปภาพ GIMP เพื่อบันทึกไฟล์. xbm และใช้อาร์เรย์ที่บันทึกไว้ในไฟล์เพื่อวาดบิตแมปด้วยฟังก์ชั่น DrawxBitMap ดูคำขอดึงที่นี่สำหรับรายละเอียดเพิ่มเติม: #31
โฟลเดอร์ 'Fonts' มีฟอนต์บิตแมปสำหรับใช้กับ Adafruit_gfx ล่าสุด หากต้องการใช้แบบอักษรในภาพร่าง Arduino ของคุณ #include ไฟล์. h ที่สอดคล้องกันและที่อยู่ผ่านของ gfxfont struct ไปยัง setFont () ส่งผ่าน null เพื่อเปลี่ยนกลับเป็นแบบอักษรบิตแมปแบบคงที่ 'คลาสสิก'
โฟลเดอร์ 'FontConvert' มีเครื่องมือบรรทัดคำสั่งสำหรับการแปลงฟอนต์ TTF เป็นรูปแบบส่วนหัว Adafruit_gfx
นอกจากนี้คุณยังสามารถใช้เครื่องมือตัวสร้างแบบอักษร GFX นี้ ( เวอร์ชันเว็บที่นี่ ) เพื่อปรับแต่งหรือแก้ไขผลลัพธ์จาก FontConvert และสร้างแบบอักษรด้วยตัวอักษรย่อยเพียงชุดย่อยเพื่อปรับขนาดให้เหมาะสม
คำสั่งสำคัญคือการรักษาความเข้ากันได้ย้อนหลังกับภาพร่าง Arduino ที่มีอยู่ - หลายคนเป็นเจ้าภาพที่อื่นและไม่ติดตามการเปลี่ยนแปลงที่นี่บางส่วนอยู่ในการพิมพ์และไม่สามารถเปลี่ยนแปลงได้! ห้องสมุด "เล็ก ๆ น้อย ๆ " นี้เติบโตขึ้นอย่างเป็นธรรมชาติเมื่อเวลาผ่านไปและบางครั้งเราก็วาดภาพตัวเองเป็นมุมการออกแบบและต้องอยู่กับมันหรือเพิ่มการแก้ปัญหาอย่างไม่น่าสนใจมากขึ้น
เราขอขอบคุณสำหรับการมีส่วนร่วมของทุกคน แต่การดึงคำขอต่อไปนี้จะไม่ถูกรวมเข้าด้วยกัน:
รูปแบบตัวอักษรเพิ่มเติมหรือเข้ากันไม่ได้ (ดูคำสั่งสำคัญด้านบน) มีสองรูปแบบอยู่แล้วและรหัสค่อนข้าง bloaty ที่นั่น นอกจากนี้ยังสร้างหนี้สินสำหรับเครื่องมือและเอกสารประกอบ สิ่งที่ไม่สมบูรณ์แบบ แต่มันทำงานได้
รูปแบบบิตแมปเพิ่มเติมหรือเข้ากันไม่ได้ด้วยเหตุผลที่คล้ายกัน มันยุ่ง
การเพิ่มสีพื้นหลังให้กับแบบอักษรที่กำหนดเองเพื่อลบเนื้อหาหน้าจอก่อนหน้า วิธีการที่ยอมรับได้เพียงอย่างเดียวคือการล้างพื้นที่ด้วย rect ที่เติมเต็มหรือ (เพื่อหลีกเลี่ยงการสั่นไหว) วาดข้อความลงใน gfxcanvas1 และคัดลอกไปยังหน้าจอด้วย drawbitmap () w/สีพื้นหลัง นี่คือวัตถุประสงค์และโดยการออกแบบ เราได้พูดถึงเรื่องนี้ ร่ายมนตร์สามารถทับซ้อนกันได้
การเลื่อนไม่ว่าจะเป็นฮาร์ดแวร์หรือซอฟต์แวร์ การใช้งานดังกล่าวมีแนวโน้มที่จะพึ่งพาคุณสมบัติเฉพาะฮาร์ดแวร์ (ไม่พร้อมใช้งานในระดับสากล) อ่านการเข้าถึง framebuffer ของหน้าจอ (Ditto) และ/หรือการเพิ่มฟังก์ชั่นเสมือนจริงใน GFX ซึ่งจะต้องเพิ่มในคลาสย่อย ทุก รายการซึ่งมีมากมาย GFX API ส่วนใหญ่ "ตั้งค่า" ณ จุดนี้และนี่เป็นเพียงข้อ จำกัด ที่เราอาศัยอยู่ในตอนนี้
โปรดอย่าฟอร์แมตรหัสเพื่อประโยชน์ในการจัดรูปแบบใหม่ "ความแตกต่างภาพ" ที่เกิดขึ้นขนาดใหญ่ทำให้เป็นไปไม่ได้ที่จะแก้ปัญหาข้อผิดพลาดจริงจากการจัดเรียงบรรทัดใหม่ รูปแบบเสียงดังจะเป็นตัวชี้สุดท้าย
โปรดอย่า PRS Pentagram PRS อีกต่อไป ฟังก์ชั่นการวาดภาพที่เฉพาะเจาะจงใด ๆ สามารถไปในรหัสของคุณเองและไม่เป็นประโยชน์ในบริบทของห้องสมุด
หากคุณ ต้อง มีหนึ่งในคุณสมบัติเหล่านี้ลองสร้างส้อมด้วยคุณสมบัติที่จำเป็นสำหรับโครงการของคุณ ... มันง่ายที่จะซิงค์กับรหัสต้นน้ำ