fbdump هو أداة بسيطة التي تستحوذ على محتويات الجزء المرئي من جهاز framebuffer لينكس ويكتب إلى الإخراج القياسي كملف PPM.
وبعبارة أخرى، فإنه يأخذ لقطة من أي شيء يعمل على framebuffer. يحتوي المشروع حاليا الدعم الكامل إلى حد ما لأنواع framebuffer معبأة بكسل ويعمل أيضا مع السائق VGA16 framebuffer.
واستلهم fbdump بواسطة برنامج حتى أبسط جئت عبر العصور منذ دعا fbsnap، التي أعتقد أنها كانت مكتوبة من قبل جيرد كنور (على الرغم من عدم ذكر المؤلف في التعليمات البرمجية المصدر من هذا البرنامج، لذلك يمكن أن أكون مخطئا). fbdump يتحمل علاقة تذكر لfbsnap، ومع ذلك، وبشكل عام أكثر فائدة من ذلك بكثير. وهو يدعم framebuffers يعمل لديها أكبر مجموعة متنوعة من بكسل واللون النماذج، يعمل (يجب أن تعمل؟) على أبنية الأكبر حجما وEndian طفيف، وسريع بصورة معقولة (على الرغم من القراءة من ذاكرة الفيديو لن تكون بسرعة فائقة).
أنا أول ما كتب fbdump قبل عدة أقمار عندما كنت بحاجة إلى وسيلة سريعة وبسيطة للاستيلاء على الكثير من الصور من framebuffer. كما معظمكم ربما لن نعرف، على الرغم من أنه من الممكن أن تفعل تفريغ framebuffer الخام عن طريق إجراء بسيط القط / ديف / القيادة fb0 أو ما شابه ذلك - حسب ما شكل بكسل ونموذج اللون framebuffer الخاص بك يستخدم - النتائج ليست دائما مفيدة بشكل خاص. مع fbdump، من ناحية أخرى، يمكنك دائما الحصول على لطيفة، محمولة، 24 بت، الصورة الحقيقية لونا - لأنه يعتني أي شكل بكسل أو لون الفضاء التحويل المطلوب (على الأقل لأنه يدعم صيغ).
لماذا fbdump حفظ الصورة باعتبارها PPM - بدلا من، على سبيل المثال، PNG - قد تسأل؟ حسنا، PPM رخيصة لكتابة ولا يتطلب ربط ضد اي مكتبات خارجية للقيام بذلك. على بنية إلى x86، fbdump حاليا بجمع وصولا الى ضئيلة 8K تنفيذ مرة واحدة جردت - وليس لديها تبعيات أخرى من المكتبة القياسية C. أما وقد قلت ذلك، اسمحوا لي أن التفاف على إضافة دعم لPNG في مرحلة ما. انها ليست ضرورية للغاية، على الرغم من أنه مع حزمة NetPBM فإنه من السهل لتحويل بالمنتجات إلى شيء أكثر فائدة. على سبيل المثال، يمكنك أن تفعل شيئا من هذا القبيل
fbdump | pnmtopng> grab.png
لإخراج framebuffer باعتباره PNG. ويمكن أيضا بالمنتجات أن يقرأ مباشرة من قبل معظم حزم معالجة الصور مفتوحة المصدر، مثل الأعرج ويماغيماغيك.
استعمال
يدعم fbdump حاليا خيارات سطر الأوامر التالية:
-fb <سلسلة> يحدد الجهاز framebuffer للاستيلاء على من هو <سلسلة>
-vt <الأسطوانات> جلب عدد محطة الظاهري إلى المقدمة قبل الاستيلاء على (والعودة إلى المحطة الحالية بعد ذلك)
-delay <الأسطوانات> ثواني تأخير بعد التحول، ولكن قبل الاستيلاء.
إذا لم يتم توفير خيار -fb، fbdump التخلف على كيفهم من الجهاز / ديف / fb0. يمكنك أيضا تحديد framebuffer عن طريق البيئة FRAMEBUFFER المتغير (قيمة المرفقة مع التبديل -fb على سطر الأوامر ستتجاوز هذا). على سبيل المثال:
FRAMEBUFFER = / ديف / fb1 fbdump> out.ppm
ما هو الجديد في هذا الإصدار:
تفاصيل البرنامج:
لم يتم العثور على التعليقات