समस्या:
यह चुनौती एक वास्तविक समस्या से आती है जो मैं कर रहा था। मेरे पास काम पर एक दोहरी मॉनिटर सेटअप है, और मैं अपने वॉलपेपर के रूप में निम्न छवि का उपयोग करना चाहता था:
हालांकि, मेरे मॉनिटर में काफी महत्वपूर्ण bezels हैं, और जब मैं अपनी पृष्ठभूमि सेट करता हूं, तो यह कुछ ऐसा दिखता है, जहां घाट (ऐपियर?) को तोड़ा जाना है:?
मैं इसे केंद्र से कटने के साथ एक छवि बनाकर हल करने में सक्षम था, और फिर इसे मूल आकार में वापस खींच रहा था, जैसा कि नीचे की छवि में है:
चुनौती:
एक प्रोग्राम लिखें जो एक छवि में लेता है और एक दोहरी मॉनिटर सेटअप के साथ उपयोग के लिए इसे "मॉनिटर करता है" (यानी छवि के केंद्र अनुभाग को हटा देता है, जहां बेज़ेल्स हैं)। नियम इस प्रकार हैं:
- यह एक पूर्ण कार्यक्रम होना चाहिए जो छवि को स्वीकार करता है, या तो एक पथ (स्ट्रिंग तर्क, आदि) के रूप में, या फ़ाइल चयनकर्ता संवाद के रूप में।
- छवि के केंद्र से बाहर फसल के लिए कार्यक्रम को एक ऊर्ध्वाधर रेखाओं (चौड़ाई में एक पिक्सेल) की संख्या के रूप में लेना चाहिए
- क्रॉपिंग को मूल छवि के केंद्र (चौड़ाई-वार) से आना चाहिए
- परिणामी छवि को इनपुट छवि के मूल आकार में फिर से स्केल किया जाना चाहिए। (या तो हिस्सों को व्यक्तिगत रूप से बढ़ाया जा सकता है, और फिर संक्षिप्त, या संक्षिप्त और फिर स्केल किया जा सकता है। व्यक्तिगत रूप से स्केलिंग एक बेहतर छवि / प्रभाव पैदा करता है, लेकिन वास्तविक दुनिया में शायद ही ध्यान देने योग्य है)
- पृष्ठभूमि छवियां आम तौर पर भी होती हैं, इसलिए इस चुनौती को आसान बनाने के लिए, इनपुट छवियों में केवल समान संख्या में पिक्सेल होंगे, और निकालने के लिए लाइनों की संख्या केवल और भी होगी।
- यह चुनौती कोड गोल्फ है - बाइट्स जीत में सबसे छोटा कोड
शुभ लाभ!