2010-06-05 14 views
6

मैं स्क्रीन पर कुछ कैसे आकर्षित करूं? कंसोल विंडो नहीं बल्कि पूरी स्क्रीन, अधिमानतः कंसोल के साथ कम से कम।सी ++ में स्क्रीन पर कैसे आकर्षित करें?

इसके अलावा, क्या यह एक प्रिंटरस्क्रीन पर दिखाई देगा? मैं जो करना चाहता हूं वह स्क्रीन के शीर्ष पर एक परत की तरह कुछ बनाना है जो केवल मुझे और मेरे अनुप्रयोग को अभी भी सामान्य रूप से अनुप्रयोगों का उपयोग करने में सक्षम हैं।

यहां एक उदाहरण है: मान लीजिए कि मैं स्क्रीन के केंद्र में स्क्रीन के केंद्र में 2 पीले वर्ग 5 से 5 पिक्सेल चाहता हूं, अन्य सभी अनुप्रयोगों के शीर्ष पर, एक प्रिंटस्क्रीन के लिए अचूक और अदृश्य।

[संपादित करें]

मुझे लगता है कि मैं Windows XP पर दृश्य स्टूडियो 2010 का उपयोग कर रहा उल्लेख करना भूल गया।

+2

किस ऑपरेटिंग सिस्टम पर? – bmargulies

+1

जो आप पूरा करने का प्रयास कर रहे हैं उसके बारे में अधिक जानकारी यहां उपयोगी हो सकती है। – Thanatos

+0

ऐसा लगता है कि आप लोगों को एप्लिकेशन बंद करने से रोकते हुए एक खराब ट्रॉल बना रहे हैं। : डी –

उत्तर

6

विंडोज़ में आप GetDC-function का उपयोग कर सकते हैं। सिर्फ एक minimalistic उदाहरण:

#include <Windows.h> 
#include <iostream> 

void drawRect(){ 
    HDC screenDC = ::GetDC(0); 
    ::Rectangle(screenDC, 200, 200, 300, 300); 
::ReleaseDC(0, screenDC); 
} 
int main(void){ 
    char c; 
    std::cin >> c; 
    if (c == 'd') drawRect(); 
    std::cin >> c; 
    return 0; 
} 

लेकिन विंडोज विस्टा के बाद से यह बहुत धीमी गति से

+2

विंडोज विस्टा पर डायरेक्ट 2 डी का प्रयोग करें। – Puppy

+0

हां, यह काम करता है, लेकिन यह प्रिंटरस्क्रीन में दिखाई देता है: पी मुझे आश्चर्य है कि किसी भी स्क्रीन कैप्चर के लिए इसे अदृश्य बनाने का कोई तरीका है या नहीं। – Kesarion

+0

अरे मैं रंग कैसे बदलूं? : डी। – JSideris

4

सी ++ एक "स्क्रीन" और विशेष रूप से "ग्राफिक्स" में से कोई भी का बोध भी नहीं है। आवश्यक कार्यक्षमता आपके ऑपरेटिंग सिस्टम द्वारा प्रदान की जाती है। कई प्रणालियों पर आपको "विंडो" की आवश्यकता होगी और उस पर आकर्षित करें। यह पोर्टेबल करने के लिए, क्यूटी जैसी लाइब्रेरी मदद कर सकती है। एक विंडोज समाधान ओप्स द्वारा दिया गया था। यदि आप अपने ग्राफिक्स के साथ कुछ 3 डी सामान करना चाहते हैं, तो हो सकता है कि आप डायरेक्टएक्स से कुछ ओपनजीएल लाइब्रेरी या विंडोज 'डायरेक्टड्रा/डायरेक्ट 3 डी का उपयोग करना चाहें।

+0

एक और क्रॉस-प्लेटफार्म ग्राफिक्स लाइब्रेरी: http://en.wikipedia.org/wiki/Simple_DirectMedia_Layer –

2

(बल्कि अच्छा लेकिन हाल ही में अपडेट नहीं किया गया) ग्राफिक्स लाइब्रेरी anti-grain geometry में विभिन्न प्रकार के विंडोिंग सिस्टम पर अपने डेमो प्रदर्शित करने के लिए बहुत ही सरल बाइंडिंग हैं, आप उदाहरणों के लिए उनको देख सकते हैं। लेकिन कुछ और भी शामिल होने के लिए आप शायद ऑपरेटिंग सिस्टम विशिष्ट पुस्तकालयों के बारे में बात कर रहे हैं।

2

विंडोज़ जीडीआई/+, डब्ल्यूपीएफ, और डायरेक्टएक्स (Vista + पर Direct2D सहित) प्रदान करता है।

+0

क्या आप इन पुस्तकालयों का उपयोग करने का एक उदाहरण दिखा सकते हैं? – Hydro

संबंधित मुद्दे