मुझे Graphics
संदर्भित किसी भी डिवाइस पर एक इंच लंबी लाइन खींचने की आवश्यकता है। Transform
पर सेट किए जाने के बावजूद मुझे इसे एक इंच लंबा होना चाहिए। आइए मान लें कि ट्रांसफॉर्म का स्केलिंग कारक scale
दोनों क्षैतिज और लंबवत दिशाओं में दिया गया है।जीडीआई +: मैं उस रेखा को कैसे आकर्षित करूं जो किसी भी डिवाइस पर लम्बाई है?
कुछ C++/CLI कोड:
g->DrawLine(Pens::Black, 50.0f, 50.0f, 50.0f + oneInchEquivalent/scale, 50.0f);
अब जब कि बिल्कुल मुश्किल नहीं था! अब हमें केवल oneInchEquivalent
की गणना करने की आवश्यकता है।
g->DpiX
मुझे स्क्रीन पर एक इंच की तरह दिखता है लेकिन प्रिंटर पर नहीं देता है। ऐसा लगता है कि प्रिंटर पर, ग्राफिक्स यूनिट :: डिस्प्ले पर सेट g->PageUnit
के साथ 100 इकाइयों की एक रेखा खींचना मुझे एक इंच लंबी लाइन देगी। लेकिन, PageUnit
सेटिंग के बावजूद मुझे वास्तव में काम करने की आवश्यकता है। वास्तव में, PageUnit
बदलना कलम की चौड़ाई बदल देगा !!
संपादित करें: मैंने यहां केवल एकमात्र उत्तर स्वीकार कर लिया है क्योंकि यह जो कुछ मैं ढूंढ रहा हूं उसके करीब है।
मैंने एक प्रिंट नमूना –