क्या मैं जेबीजी या पीएनजी को फ्रेमबफ़र (/ देव / fb *) में प्रदर्शित कर सकता हूं?


19

मुझे पता है कि मैं linux में फ्रेमबफ़र को कुछ इस तरह से उपयोग कर सकता हूं cp /dev/fb0 ~/myimageऔर फिर से प्रदर्शित कर सकता हूं ताकि डिवाइस की तरह वापस नकल कर सके cp ~/myimage /dev/fb0। फ़्रेमबफ़र छवि डेटा किस प्रारूप में है? और मैं फ़्रेमबफ़र को पूर्व-निर्मित छवि (jpg, png) कैसे प्रदर्शित करूँगा? क्या मैं इमेजमैगिक का उपयोग करके इस प्रारूप में परिवर्तित कर सकता हूं?

रास रास्पबेरी चलाने वाले रास्पबेरी पाई का उपयोग करके पीएस इम।



अपडेट 11-12-2012

मैंने अपने आवेदन में चित्र प्रदर्शित करने के लिए pygame का उपयोग किया । सुनिश्चित नहीं हैं कि यह छवियों को प्रदर्शित करने के लिए फ्रेम-बफर का उपयोग करता है। लेकिन यह मेरी जरूरतों को काफी अच्छी तरह से पूरा करता है।

जवाबों:


8

क्या आपने फबिदा की कोशिश की है ?

fbidaशामिल है fbi, फ़्रेमबफ़र के लिए एक छवि दर्शक।

fbiमैन पेज से लिंक करें - http://manpages.ubuntu.com/manpages/lucid/man1/fbi.1.html

पीएस - मुझे यकीन नहीं है कि यह रास्पियन में काम करेगा।


दुर्भाग्य से स्क्रीन के नीचे स्थिति पट्टी प्रदर्शित करने से 'fbi' को रोकना संभव नहीं लगता। यह विभिन्न अनुप्रयोगों के लिए शोस्टॉपर का एक सा है ...
जूल्स

3
@ जूल्स ऑन डेबियन 8 (परीक्षण), एक -noverboseविकल्प है जो इसे केवल छवि को प्रदर्शित करता है; हालाँकि, यह मैन पेज में प्रलेखित नहीं है, लेकिन केवल इसके लिए "उपयोग:" में है।
अबाफेई

क्या यह काम करता है? मैंने पहले लेखक के वेब पेज पर स्रोत से एक प्रति का निर्माण किया था, और उसके पास विकल्प था, लेकिन विकल्प वास्तव में उस संस्करण में कुछ भी करने के लिए नहीं लगता था।
जूल्स २

@ जूल्स -noverboseमेरे लिए काम करता है रास्पबियन fbiपर इस्तेमाल करने पर जब मैंने इसे इस्तेमाल किया apt-get install fbi
डी। वुड्स


2

फ़्रेमबफ़र छवि डेटा किस प्रारूप में है?

लिनक्स कर्नेल 4.2 प्रलेखन https://github.com/torvalds/linux/blob/v4.2/Documentation/fb/api.txt#45 कहते हैं:

पिक्सेल को हार्डवेयर-निर्भर स्वरूपों में मेमोरी में संग्रहीत किया जाता है। हार्डवेयर द्वारा अपेक्षित प्रारूप में फ़्रेम बफर मेमोरी में छवि डेटा लिखने के लिए एप्लिकेशन को पिक्सेल भंडारण प्रारूप के बारे में पता होना चाहिए।

प्रारूप बफर बफर प्रकार और दृश्यों द्वारा वर्णित हैं। कुछ विज़ुअल्स को अतिरिक्त जानकारी की आवश्यकता होती है, जो कि चर स्क्रीन सूचना बिट्स_पर_पिक्सल, ग्रेस्केल, रेड, ग्रीन, ब्लू और ट्रांसप फील्ड में संग्रहित होती हैं।

विज़ुअल्स वर्णन करते हैं कि मैक्रोप्रिक्सल बनाने के लिए रंग की जानकारी कैसे एन्कोडेड और असेंबल की जाती है। प्रकारों का वर्णन है कि मैक्रोप्रिक्सल को मेमोरी में कैसे संग्रहीत किया जाता है। निम्नलिखित प्रकार और दृश्य समर्थित हैं।

दृश्यों और प्रकारों की एक सूची इस प्रकार है, लेकिन मेरे लिए सटीक प्रारूप को तुरंत समझने के लिए विवरण पर्याप्त नहीं है।


1
@Downvoters कृपया समझाएं ताकि मैं जानकारी सीख और सुधार कर सकूं। मैं कभी जवाबी कार्रवाई नहीं करता। धन्यवाद।
सिरो सेंटिल्ली 新疆 改造 iro 六四

1

यदि आप चाहते हैं cp /dev/fb0 ~/myimage, तो छवि में केवल पिक्सेल जानकारी होनी चाहिए, और आदेश सही होना चाहिए ( RGB, BGR, RGBA, ARGB...)

मैं यह भी करना चाहता हूं, लेकिन एक उपयुक्त उपकरण नहीं मिला, इसलिए मैं चित्र बनाने में मेरी मदद करने के लिए अजगर का उपयोग करता हूं। आप कोशिश कर सकते हैं इस


0

यदि आप उन्हें स्थापित कर सकते हैं, fbcatतो एक पीपीएम छवि fbgrabबनाएंगे , और एक पीएनजी छवि बनाएंगे।


0

/Usr/include/linux/fb.h को fb_var_screeninfo जैसी संरचना में देखें। रंग की गहराई और प्रारूप की एक किस्म हो सकती है। मैं 16 बिट्स / पिक्सेल का रास्ता अक्सर देखता हूं, अभी मेरे पास 32 हैं। अपने आप से टाइपसेट करें और यह वर्तमान सेटिंग्स प्रदर्शित करेगा। जो निश्चित रूप से /etc/fb.modes की प्रविष्टियों में से एक होगी।

upstairs# fbset

mode "1920x1080"
    geometry 1920 1080 1920 1080 32
    timings 0 0 0 0 0 0 0
    rgba 8/16,8/8,8/0,8/24
endmode

यदि आप इसे उस मोड से पूरी तरह से मिलान कर सकते हैं, जो आपके लिए आवश्यक है, तो इमेजमैजिक काम कर सकता है। मैं शायद सी में कुछ लिखूंगा, एक दर्जन या तो लाइनों libjpeg या libpng बुला एक छवि सरणी में एक छवि decompress कर सकते हैं। आपके बिट्स / रंग आदि को मिलान करने की आवश्यकता है या आपको इसे बदलने के लिए कुछ लिखने की आवश्यकता है। अच्छा अनुभव।

एक फ़ाइल के रूप में पढ़ने / लिखने / देव / fb0 के बजाय, एक फ़ाइल डिस्क्रिप्टर (एमएमएपी) प्राप्त करने के लिए इसे खोलें () तो यह है कि आप मेमोरी के लिए एक पॉइंटर के साथ काम कर रहे हैं। यह ट्रांसफर करने में बहुत तेज है, कम से कम 10 गुना।

लेकिन स्क्रीन पर चित्र लगाने के लिए मैं सिर्फ qiv इंस्टॉल करता हूं। फिर मदद के लिए एफ 1 मारा, लेकिन एक एक्स छवि प्रदर्शित करते समय इसे अर्ध-स्थायी रूप से रूट विंडो में लिख देगा यदि आप चाहते हैं। या बस इसे डेस्कटॉप प्राथमिकता में वॉलपेपर के रूप में सेट करें और यह हर बूट पर आएगा।


मेरा ARGB जाहिरा तौर पर (रास्पियन)। मैंने एक जीआईएमपी रंग बीनने वाले से एचटीएमएल-प्रकार के रंगों के साथ शुरू किया, इसे सही पाने के लिए 4 प्रयास किए।
एलन कोरी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.