यह चुनौती धीरे-धीरे इस तरह से सुंदर चित्र बनाने के लिए एक छवि में hues को स्थानांतरित करने के बारे में है:
( मूल )
चुनौती
एक प्रोग्राम या फ़ंक्शन लिखें जो दो गैर-नकारात्मक पूर्णांक और आपके चयन के किसी भी सामान्य छवि फ़ाइल प्रारूप में एक छवि लेता है (आप छवि या कच्ची छवि डेटा के लिए एक पथ ले सकते हैं)।
हम पहले पूर्णांक को चक्र और दूसरे पूर्णांक को ऑफ़सेट कहेंगे ।
हम फ़्लोटिंग-पॉइंट स्टेप को छवि के क्षेत्र द्वारा विभाजित 360 गुणा चक्र के रूप में भी परिभाषित करेंगे step = 360 * cycles / (image width * image height)
।
छवि में प्रत्येक पिक्सेल पी के लिए, एक समय में एक पंक्ति, बाएं-से-दाएं, ऊपर से नीचे (यानी पढ़ने के क्रम में अगर पिक्सेल अक्षर थे), निम्नलिखित करें:
ऑफसेट डिग्री (यदि आवश्यक हो तो लगभग 360 से 0 से लूपिंग) द्वारा पी के ह्यू को बढ़ाएं ।
फिर बढ़ ऑफसेट द्वारा कदम ।
किसी भी सामान्य छवि फ़ाइल स्वरूप में परिणामी छवि को सहेजें, प्रदर्शित करें, या आउटपुट करें।
यह प्रक्रिया छवि में सभी पिक्सल की वृद्धि को बढ़ाती है, जिससे ह्यू इंद्रधनुष के चारों ओर चक्रों को पूर्ण लूप बनाया जाता है , शुरुआत में ऑफसेट द्वारा ह्यू को ऑफसेट करके शुरू होता है ।
जब चक्र 1 होता है और ऑफसेट 0 होता है, जैसा कि ऊपर की तारों वाली रात की छवि में, पिक्सल के ऊपर और नीचे की पंक्तियों में व्यावहारिक रूप से कोई ह्यू शिफ्ट नहीं है, लेकिन बीच में एक पूर्ण रंग चक्र है।
विवरण
चक्र कोई भी गैर-नकारात्मक पूर्णांक हो सकता है लेकिन आप मान सकते हैं कि ऑफसेट 0 से 359 समावेशी है।
जब चक्र 0 होता है, तो छवि में प्रत्येक पिक्सेल का रंग बिल्कुल हट जाएगा, क्योंकि चरण 0 भी होना चाहिए। (इस मामले में यदि ऑफसेट 0 है तो छवि बिल्कुल नहीं बदलती है।)
यदि आप वांछित (यानी के बजाय ) हैं तो आप मान सकते हैं कि चक्र और ऑफसेट इनपुट हैं । (मुझे पता है कि उन्हें पूर्णांक की आवश्यकता नहीं है, यह सिर्फ चुनौती को सरल बनाता है।)
1.0
1
"ह्यू" RGB रंग अंतरिक्ष संस्करण को संदर्भित करता है, जो HSL / HSV रंग मॉडल में सामान्य है ।
उदाहरण
मूल:
चक्र = 1, ऑफसेट = 0:
चक्र = 1, ऑफसेट = 180:
मूल:
चक्र = 2, ऑफसेट = 60:
मूल:
(धन्यवाद आर्टऑफकोड )
चक्र = 1, ऑफसेट = 120:
मूल:
( साभार डोरकनॉब ।)
चक्र = 1, ऑफसेट = 0:
चक्र = 4, ऑफसेट = 0:
चक्र = 200, ऑफसेट = 0:
चक्र = 30000, ऑफ़सेट = 0:
(ये चित्र imgur कंप्रेस करने के कारण पिक्सेल परफेक्ट नहीं हो सकते हैं।)
स्कोरिंग
बाइट्स में सबसे छोटा कोड जीतता है। टाईब्रेकर उच्च मतदान वाला उत्तर है।
अपने स्वयं के शांत दिखने वाले परीक्षण चित्रों के उत्तर देने से मुझे अधिक ब्राउनी अंक मिलेंगे।