fbdump เป็นเครื่องมือง่ายๆที่จับเนื้อหาของส่วนที่มองเห็นของอุปกรณ์ framebuffer ลินุกซ์และเขียนมันออกมาตรฐานเป็นไฟล์ PPM
ในคำอื่น ๆ ก็จะใช้เวลาหน้าจอของอะไรที่ทำงานบน framebuffer โครงการในปัจจุบันมีการสนับสนุนอย่างเป็นธรรมที่สมบูรณ์แบบสำหรับบรรจุพิกเซล framebuffer ชนิดและยังทำงานร่วมกับคนขับ VGA16 framebuffer
fbdump ได้รับแรงบันดาลใจจากโปรแกรมได้ง่ายผมมาในทุกเพศทุกวัยที่ผ่านมาเรียกว่า fbsnap ซึ่งผมเชื่อว่าเป็นหนังสือที่เขียนโดยคนอร์เกอร์ (แม้ว่าผู้เขียนไม่ได้กล่าวถึงในรหัสที่มาของโปรแกรมที่ดังนั้นฉันอาจจะผิด) ความสัมพันธ์ fbdump หมีน้อยที่จะ fbsnap อย่างไรและโดยทั่วไปจะมีประโยชน์มากขึ้น มันสนับสนุน framebuffers จ้างหลากหลายมากขึ้นของพิกเซลและรูปแบบสีทำงาน (ควรจะทำงาน?) บนสถาปัตยกรรม big- และน้อย endian และเป็นเหตุผลที่รวดเร็ว (แม้ว่าการอ่านจากหน่วยความจำวิดีโอไม่เคยไปได้เร็วสุด)
ครั้งแรกที่ผมเขียน fbdump หลายดวงจันทร์ที่ผ่านมาเมื่อผมจำเป็นต้องมีวิธีที่รวดเร็วและง่ายในการคว้าจำนวนมากภาพจาก framebuffer เป็นส่วนใหญ่ของคุณอาจจะรู้ว่าแม้ว่ามันจะเป็นไปได้ที่จะทำการถ่ายโอนข้อมูลดิบ framebuffer โดยการดำเนินการง่ายแมว / dev / คำสั่ง fb0 หรือคล้ายกัน - ขึ้นอยู่กับรูปแบบพิกเซลและรูปแบบสีของคุณใช้ framebuffer - ผลไม่ได้เสมอที่มีประโยชน์โดยเฉพาะอย่างยิ่ง ด้วย fbdump ในมืออื่น ๆ ที่คุณมักจะได้รับความสุขแบบพกพา 24 บิตภาพสีจริง - เพราะมันจะดูแลการแปลงรูปแบบใด ๆ หรือพิกเซลสีพื้นที่ที่จำเป็น (อย่างน้อยสำหรับรูปแบบที่จะสนับสนุน)
ทำไม fbdump บันทึกภาพเป็น PPM - มากกว่าเช่น PNG - คุณอาจถาม? ดี PPM ราคาถูกที่จะเขียนออกมาและไม่จำเป็นต้องมีการเชื่อมโยงกับห้องสมุดภายนอกใด ๆ จะทำเช่นนั้น บนสถาปัตยกรรม x86, fbdump ปัจจุบันรวบรวมลงไป miniscule 8K ปฏิบัติการปล้นครั้งเดียว - มีการอ้างอิงและอื่น ๆ นอกเหนือจากห้องสมุด C ไม่มีมาตรฐาน ต้องบอกว่าผมอาจจะได้รับรอบเพื่อเพิ่มการสนับสนุนสำหรับ PNG ในบางจุด ก็ไม่จำเป็นอย่างเคร่งครัด แต่เพราะด้วยแพคเกจ Netpbm มันง่ายที่จะแปลง PPMS เป็นสิ่งที่มีประโยชน์มากขึ้น ตัวอย่างเช่นคุณสามารถทำสิ่งที่ชอบ
fbdump | pnmtopng> grab.png
การส่งออก framebuffer เป็น PNG PPMS ยังสามารถอ่านได้โดยตรงโดยแหล่งที่มาเปิดมากที่สุดแพคเกจการประมวลผลภาพเช่น Gimp และ ImageMagick
การใช้
fbdump ขณะนี้สนับสนุนตัวเลือกบรรทัดคำสั่งต่อไปนี้:
-fb <สตริง> ระบุอุปกรณ์ framebuffer ที่จะคว้าจากเป็น <สตริง>
-vt
-delay
ถ้าตัวเลือก -fb ไม่ให้ fbdump เริ่มต้นที่โลภจากอุปกรณ์ / dev / fb0 นอกจากนี้คุณยังสามารถระบุ framebuffer ผ่านตัวแปรสภาพแวดล้อม framebuffer (ค่าที่มาพร้อมกับสวิทช์ -fb ในบรรทัดคำสั่งจะแทนที่นี้) ตัวอย่างเช่น:
framebuffer = / dev / FB1 fbdump> out.ppm
มีอะไรใหม่ในรุ่นนี้:
รายละเอียดซอฟแวร์:
รุ่น: 0.4.2
วันที่อัพโหลด: 2 Jun 15
การอนุญาต: ฟรี
ความนิยม: 31
ความคิดเห็นที่ไม่พบ