टर्मिनल में एक एकल पिक्सेल कैसे आकर्षित करें?


10

अब तक मैंने एक टर्मिनल में छवियों, आकृतियों आदि को खींचने के लिए पात्रों का उपयोग किया।

क्या एक एकल पिक्सेल खींचना संभव है?

हम कहते हैं:

foo 1 1 red

यह समन्वय पर एक लाल पिक्सेल खींचेगा (1, 1)

क्या कोई मौजूदा एप्लिकेशन है जो यह काम करेगा?

वर्तमान में Ubuntu 14.04 चल रहा है।


3
आपके पास किस तरह का टर्मिनल है? एक DEC GT40 ?
एंथन जूल

@ एंथन गनोम-टर्मिनल (जो उबंटू के साथ आता है)
आयनिक बिज़ुआ

1
@ एंथन ए DEC GT40उपयोगी होगा, लेकिन यह बहुत महंगा है ... :-)
आयनिक बिज़ू

1
@terdon मैंने फिर से खोलने के लिए मतदान किया क्योंकि यह आंतरिक रूप से एक प्रश्न नहीं है (मैंने c और c ++ टैग को हटा दिया है , क्योंकि यदि आप C या C ++ कोड लिखने जा रहे हैं, तो यह ऑफ-टॉपिक है)। "ऐसी कोई विशेषता नहीं है, आपको इसे प्रोग्राम करने की आवश्यकता होगी" यहां एक उचित उत्तर होगा - सिवाय इसके कि यह गलत होगा: एक अच्छा उत्तर में टेकट्रॉनिक्स का उल्लेख होगा और टर्मिनल विंडो पर w3m की तरह ड्राइंग करेगा।
गिल्स एसओ- बुराई को रोकें '

1
@ गिल्स फेयर काफी, मैं फिर से खुल गया हूं। मैंने इसे बंद कर दिया क्योंकि यह एसओ के माइग्रेट होने की प्रक्रिया में था और इसका वहां स्वागत नहीं था।
terdon

जवाबों:


10

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

पाठ के बजाय ग्राफिक्स प्रदर्शित करने के लिए, आपको एक प्रोग्राम लिखना होगा जो सीधे एक्स सर्वर के साथ इंटरैक्ट करता है। यह आमतौर पर UI टूलकिट जैसे GTK , Qt या wxWidgets के माध्यम से किया जाता है ।


7
टर्मिनलों के सभी प्रकार हैं, कुछ ग्राफिकल क्षमताओं (जैसे Tektronix मोड xterm, या छवियों की एम्बेडिंग terminology) के साथ। ध्यान दें कि टर्मिनल X11 टर्मिनलों (
टेक्ट्रोनिक्स

2
ठंडा! कुछ उत्साही लोग xterm में 3 डी चायदानी =) dim13.org/2009/02/teapot
gena2x

यदि टर्मिनल केवल "ड्रा" वर्ण कर सकता है, तो शायद पिक्सेल को एक चार बनाया जाना चाहिए ताकि इसे खींचा जा सके ...

10

ड्रॉइल लाइब्रेरी पर एक नजर । यह पिक्सल खींचने के लिए UTF ब्रेल वर्णों का उपयोग करता है।


1
जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
SLM

1

आप टर्मिनल में एकल पिक्सेल रंगों को आकर्षित करने में सक्षम नहीं होंगे जब तक कि आप वायज़र्ड के उल्लेखों को नहीं कर सकते , इसे स्वयं प्रोग्राम करें, या पहले से ही काम के लिए बनाया गया टूल ढूंढें (यह टर्मिनल-विशिष्ट हो सकता है)। हालाँकि, एएससीआईआई और यूटीएफ -8 अक्षरों का उपयोग करके 2 डी छवियों को खींचने के लिए अपने टर्मिनल में व्यक्तिगत चरित्र निर्देशांक का उपयोग करना संभव है। इसके लिए टूल को कहा जाता है tput। यह उपकरण आपके वर्तमान टर्मिनल के निर्देशांक के अनुसार कर्सर की स्थिति में हेरफेर करके काम करता है। यहाँ tputकार्यात्मकताओं की एक नमूना सूची दी गई है :

# tput Cursor Movement Capabilities:

tput cup Y X
    # Move cursor to screen location X,Y (top left is 0,0)

tput sc
    # Save the cursor position

tput rc
    # Restore the cursor position

tput lines
    # Output the number of lines of the terminal

tput cols
    # Output the number of columns of the terminal

tput cub N
    # Move N characters left

tput cuf N
    # Move N characters right

tput cuu N
    # up N lines

tput cud N
    # down N lines

1

वायजार्ड के उत्तर में वर्णित प्रमुख विजेट टूलकिट (GTK, Qt, WxWidgets) के अलावा आप SFML या libSDL जैसे मीडिया उन्मुख पुस्तकालयों पर भी विचार कर सकते हैं । यदि आप बस कुछ ग्राफिकल आउटपुट (लगभग कोई इंटरैक्शन के साथ) चाहते हैं तो आप काहिराग्राफिक्स पर भी विचार कर सकते हैं ।

कुछ मामलों में आप उपयोग कर सकते हैं, एक पाइप के माध्यम से (जैसे पॉपान ) या कमांड लाइन पर, GNUplot या GraphViz जैसी कमांड उपयोगिताओं ।

आप अपने ब्राउज़र की ग्राफ़िकल क्षमताओं का उपयोग करने पर भी विचार कर सकते हैं, उदाहरण के लिए कुछ समर्पित वेब एप्लिकेशन (कुछ HTTP सर्वर लाइब्रेरी जैसे Wt या libonion का उपयोग करके , AJAX, SVG, HTML5, कैनवास, वेबसोकेट, आदि जैसे वेब तकनीकों के साथ ...)

लेकिन अधिकांश टर्मिनल एमुलेटरों में न तो बहुत कम ग्राफिकल क्षमताएं हैं (न ही कोई वास्तविक पिक्सेल ग्राफिक्स)। तो आपको प्रदर्शन सर्वर ( एक्स 11 , वेलैंड , ...) के साथ बातचीत करने के लिए व्यावहारिक रूप से आपके कार्यक्रम की आवश्यकता है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.