سؤال

أقوم بتشغيل Embedded Linux على مجموعة أدوات التقييم (Zoom OMAP35x Torpedo Development Kit).تحتوي اللوحة على شاشة LCD وأود أن أتمكن من التقاط لقطات الشاشة وتحويلها إلى صورة GIF أو png.يمكنني الحصول على البيانات الأولية عن طريق القيام بما يلي:"cp /dev/fb0 screen.raw"، لكنني في حيرة من أمري بشأن كيفية تحويل الصورة إلى تنسيق gif أو png.

لقد لعبت مع التحويل من ImageMagick (على سبيل المثال:"تحويل -عمق 8 -حجم 240 × 320 rgb:./screen.raw -swap 0,2 -separate -combine screen.png")، ولكن لم نتمكن من الحصول على صورة تبدو صحيحة.

هل يعرف أحد أي أدوات أخرى يمكنني تجربتها؟أو هل لدى أي شخص نصائح لاستخدام ImageMagick؟

هل كانت مفيدة؟

المحلول

ونلقي نظرة على fbgrab ، وهو التطبيق الذي يفعل ذلك بالضبط (أنه يوفر محتوى مخزن الإطار المؤقت باعتباره بابوا نيو غينيا).

نصائح أخرى

قد لا يكون من الممكن/السهل القيام بذلك مباشرة باستخدام ImageMagick.

وثائق نواة لينكس 4.2 https://github.com/torvalds/linux/blob/v4.2/Documentation/fb/api.txt#45 يقول:

يتم تخزين وحدات البكسل في الذاكرة بتنسيقات تعتمد على الأجهزة.يجب أن تكون التطبيقات على دراية بتنسيق تخزين البكسل من أجل كتابة بيانات الصورة إلى ذاكرة المخزن المؤقت للإطار بالتنسيق المتوقع بواسطة الجهاز.

يتم وصف التنسيقات حسب أنواع المخزن المؤقت للإطار والمرئيات.تتطلب بعض الصور المرئية معلومات إضافية ، يتم تخزينها في معلومات الشاشة المتغيرة bits_per_pixel و grayscale والأحمر والأخضر والأزرق و transp.

تصف الصور المرئية كيف يتم تشفير معلومات الألوان وتجميعها لإنشاء macropixels.تصف الأنواع كيفية تخزين وحدات البكسل الكبيرة في الذاكرة.يتم دعم الأنواع والمرئيات التالية.

فيما يلي قائمة بالمرئيات والأنواع، لكن الوصف لا يكفي بالنسبة لي لفهم التنسيقات الدقيقة على الفور.

ولكن يبدو من المحتمل أنه قد لا يكون تنسيقًا سيفهمه ImageMagick مباشرةً، أو على الأقل سيتعين عليك معرفة التنسيق المستخدم لتحديد خيارات ImageMagick.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top