विषयसूची:
- चरण 1: रंग के बारे में बुनियादी ज्ञान
- चरण 2: रंग संग्रहीत करने के लिए डेटा प्रकार
- चरण 3: भरने की ओवरलैपिंग विधि
- चरण 4: एचएसबी मोड
- चरण 5: ColorMode की ओवरलैपिंग विधि
- चरण 6: मोड एप्लिकेशन केस 2
- चरण 7: परत सम्मिश्रण मोड
- चरण 8: प्रसंस्करण सम्मिश्रण मोड
- चरण 9: परत सम्मिश्रण मोड अनुप्रयोग केस
- चरण 10: स्रोत
वीडियो: डिजाइनर के लिए दिलचस्प प्रसंस्करण प्रोग्रामिंग मार्गदर्शन - रंग नियंत्रण: 10 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:19
पिछले अध्यायों में, हमने रंग के बारे में ज्ञान बिंदुओं के बजाय आकार देने के लिए कोड का उपयोग करने के तरीके के बारे में अधिक बात की है। इस अध्याय में, हम ज्ञान के इस पहलू की गहराई से खोज करने जा रहे हैं।
चरण 1: रंग के बारे में बुनियादी ज्ञान
रंग, निश्चित रूप से, मानव अंतर्ज्ञान को पार कर गया है। हम अपनी नग्न आंखों से देखे जाने वाले विभिन्न सुंदर रंग वास्तव में एक ही घटक से मिलकर बने होते हैं। लाल, हरे और नीले रंग के तीन हल्के रंगों से ही हम उन सभी रंगों का निर्माण कर सकते हैं जिन्हें मानव आंखों द्वारा मिश्रण के माध्यम से देखा जा सकता है।
मोबाइल स्क्रीन और कंप्यूटर स्क्रीन जो आपने वर्तमान में देखी हैं, इस सिद्धांत के आधार पर बनाई गई हैं। लाल, हरा और नीला प्रकाश के तीन मूल रंग कहलाते हैं। तीन तत्वों के अनुपात के माध्यम से, हम एक निश्चित रंग का आश्वासन दे सकते हैं। विवरण की इस पद्धति को RGB मोड भी कहा जाता है। इसमें लाल, R है, हरा G है और नीला B है।
RGB मोड को छोड़कर, एक अन्य मोड है जिसे CMYK मोड कहा जाता है। इसे आमतौर पर प्रिंटिंग के साथ जोड़ा जाता है। छपाई में भी तीन मूल रंग होते हैं। हालांकि, यह प्रकाश के तीन मूल रंगों से अलग है। वे अलग-अलग लाल, पीले और नीले रंग के होते हैं। इसमें से, सी सियान के लिए है, एम मैजेंटा के लिए है, और वाई पीले रंग के लिए है। सैद्धांतिक रूप से, केवल सीएमवाई द्वारा, हम अधिकांश रंगों को मिला सकते हैं। लेकिन कच्चे माल की उत्पादन तकनीक के कारण, हम मुश्किल से सीएमवाई की संतृप्ति को 100% प्राप्त कर सकते हैं। यदि हम इन तीनों रंगों को मिला दें, तो हमें पर्याप्त गहरा काला रंग प्राप्त नहीं हो सकता है। तो एक अतिरिक्त K है, जो मुद्रण के पूरक के रूप में काली मुद्रण स्याही के लिए है।
जहां तक RGB और CMYK का सवाल है, आपको केवल यह जानना होगा कि प्रकृति में सबसे स्पष्ट अंतर है। RGB प्लस कलर मोड है, जो अधिक रंगों को मिलाकर ब्राइटनेस बढ़ाता है। जबकि CMYK माइनस कलर मोड है, जो ज्यादा रंगों को मिलाकर डार्कनेस को बढ़ाता है। नीचे दिए गए चित्र में, हम दोनों विधाओं की समानता और अंतर को दृष्टिगत रूप से देख सकते हैं। बाईं तस्वीर, हम एक अंधेरे घर की कल्पना कर सकते हैं जिसमें तीन अलग-अलग रंगों की फ्लैशलाइट चालू हैं। दाईं ओर की तस्वीर, हम लाल, हरे और नीले रंग के तीन पिगमेंट के साथ ओवरलैप करने के बाद इसे वॉटरकलर पेपर के रूप में मान सकते हैं।
यदि आप विभिन्न रंग मोड के बीच इसके सापेक्ष संबंध को अधिक गहराई से जानना चाहते हैं, तो आप अपना फ़ोटोशॉप खोल सकते हैं और रंग बीनने वाला चुन सकते हैं। फिर आप एक ही रंग के रंग मूल्यों को अलग-अलग रंग मोड के तहत सहज रूप से देख सकते हैं।
अंत में, हम आपके लिए एक और सामान्य रंग मोड, एचएसबी पेश करना चाहेंगे। एचएसबी में "मूल रंग" की कोई अवधारणा नहीं है। इसे रंगों के लिए मानव आंखों की भावनाओं के अनुसार वर्गीकृत किया गया है। एच रंग के लिए है, एस संतृप्ति के लिए है, और बी चमक के लिए है।
ह्यू रंग प्रवृत्ति का प्रतिनिधित्व करता है। प्रत्येक रंग में एक निश्चित प्रकार की रंग प्रवृत्ति होती है, यदि वह बाल्क, सफेद या ग्रे न हो। रंग पिकर पर सबसे समृद्ध रंग संक्रमण क्षेत्र का उपयोग रंग को इंगित करने के लिए किया जाता है। PS में इसका मान 0 से 360 के बीच होता है।
संतृप्ति का अर्थ है रंग की शुद्धता। उच्च शुद्धता अधिक विशद रंग लाती है। PS में इसका मान 0 से 100 तक होता है।
चमक का अर्थ है रंग की लपट की डिग्री, 0 से 100 तक।
आरजीबी मोड की तुलना में, एचएसबी के तीन आयाम रंगों के लिए मानवीय आंखों की भावना के अनुरूप हैं। केवल एचएसबी मूल्यों को देखें, आप आमतौर पर कल्पना कर सकते हैं कि यह किस प्रकार का रंग है।
उसी रंग के लिए, RGB मोड में रंग मान (255, 153, 71) है, जबकि HSB में (27, 72, 100) है।
अगर हम केवल आरजीबी को देखें तो तीन मूल रंगों को एक साथ मिलाने के बाद यह कैसा दिखेगा, इसका अंदाजा लगाना मुश्किल है। लेकिन एचएसबी अलग है। आपको केवल रंगों के रंगों से परिचित होना होगा जैसे लाल 0 है, नारंगी 30 है और पीला 60 है, तो आपको पता चलेगा कि यह उच्च चमक के साथ तुलनात्मक रूप से संतृप्त नारंगी रंग होगा और एच होने पर लाल के थोड़ा सा करीब होगा। 27.
इसके बाद, हम दो मोड के तीन आयामों को अंतरिक्ष में x, y, x में जोड़ेंगे और तुलना करने के लिए एक रंग क्यूबिक ड्रा करेंगे।
आरजीबी और एचएसबी रंगों का वर्णन करने के लिए अलग-अलग तरीके हैं। हम पते को एक रूपक के रूप में ले सकते हैं। मान लीजिए यदि आप अन्य लोगों को शाही महल की स्थिति बताना चाहते हैं, तो आप कह सकते हैं कि यह जिंगशान फ्रंट स्ट्रीट, डोंगचेंग क्षेत्र, बीजिंग के नंबर 4 पर है। या आप कह सकते हैं कि यह उत्तरी अक्षांश पर 15 सेकंड, 55 मिनट, 39 डिग्री और पूर्वी देशांतर पर 26 सेकंड, 23 मिनट, 116 डिग्री पर है। एचएसबी की विवरण विधि पूर्व के समान है। यदि आप संबंधित क्षेत्र से परिचित हैं, तो आप आमतौर पर पते की स्थिति जान सकते हैं। जबकि आरजीबी अधिक सटीक हो सकता है, लेकिन यह बहुत ही सारगर्भित है।
रंग का अधिक आसानी से वर्णन करने में हमारी मदद करने के उद्देश्य से एचएसबी मोड अस्तित्व में था। स्क्रीन पर एक निश्चित प्रकार का रंग प्रदर्शित करने के लिए, हमें अंत में इसे पहले आरजीबी मोड में बदलना होगा।
उपरोक्त में, हम तीन रंग मोड पेश करते हैं: RGB, HSB, CMYK। कार्यक्रम में, आपको केवल दो मोड पर ध्यान केंद्रित करना है: आरजीबी और एचएसबी। उनके अपने फायदे हैं और एक ही समय में उनके अपने अनुप्रयोग हैं। यदि आप इससे परिचित हैं, तो यह आपकी अधिकांश डिजाइनिंग आवश्यकताओं को पूरा करेगा।
चरण 2: रंग संग्रहीत करने के लिए डेटा प्रकार
प्रोग्राम में रंग दिखाने के लिए पहले में ज्यादातर हम RGB मोड का ही इस्तेमाल करते हैं। हालाँकि, केवल तीन गुणों को नियंत्रित करके, क्या हम कोई रंग प्रदर्शित कर सकते हैं? कंप्यूटर में, यह इस प्रकार है।
हमने पहले उल्लेख किया है कि प्रसंस्करण में, आर, जी, बी को छोड़कर, हम रंगों के लिए एक अल्फा (पारदर्शिता) नामित कर सकते हैं। लेकिन अल्फा रंग के घटक से संबंधित नहीं है। इसका अस्तित्व पीछे के रंगों के साथ सुविधाजनक मिश्रण है। इसलिए, कंप्यूटर के लिए एक निश्चित प्रकार के रंग का सही-सही वर्णन करने के लिए, हमें केवल तीन प्रमुख चरों को नियंत्रित करना होगा।
निम्नलिखित में, हम एक प्रकार का डेटा प्रकार रंग पेश करना शुरू करते हैं, जो मुख्य रूप से रंगों को संग्रहीत करने के लिए उपयोग किया जाता है। यह पहले संदर्भित डेटा प्रकारों जैसे बूलेना, इंट, फ्लोट के समान है।
यहाँ, मैं पहले रंग के वास्तविक उपयोग को स्पष्ट रूप से समझाता हूँ। कल्पना कीजिए: मान लीजिए कि अगर हम केवल एक निश्चित डेटा को स्टोर करने के लिए पहले से महारत हासिल विधियों का उपयोग कर सकते हैं, तो हम क्या करेंगे?
कोड उदाहरण (9-1):
[सीसीईएन_सीपीपी थीम = "डॉन"] इंट आर, जी, बी;
व्यर्थ व्यवस्था(){
आकार (400, 400);
आर = 255;
जी = 0;
बी = 0;
}
शून्य ड्रा () {
पृष्ठभूमि (0);
रेक्टमोड (केंद्र);
भरें (आर, जी, बी);
रेक्ट (चौड़ाई / 2, ऊँचाई / 2, 100, 100);
}
[/cceN_cpp]
जहां तक रंगों की प्रवृत्ति होती है, हमें क्रमशः लाल, हरे और नीले रंग के तीन रंग चैनलों में डेटा संग्रहीत करने के लिए तीन चर बनाने की आवश्यकता होती है। बाद में, यदि हम रंग डेटा के इस सेट को लागू करना चाहते हैं, तो हमें इसे भरण या स्ट्रोक में लिखना होगा।
लेकिन आप पाएंगे कि ऐसा करना बहुत मुश्किल है क्योंकि डेटा आपस में जुड़े हुए हैं। यदि आपके पास उन्हें उपयोग में लाने का विचार है, तो यह अधिक सुविधाजनक होगा। इसलिए, रंग बनाया जाता है।
कोड उदाहरण (9-2):
[cceN_cpp विषय = "सुबह"] myColor रंग;
व्यर्थ व्यवस्था(){
आकार (400, 400);
myColor = रंग (२५५, ०, ०);
}
शून्य ड्रा () {
पृष्ठभूमि (0);
रेक्टमोड (केंद्र);
भरें (माईकलर);
रेक्ट (चौड़ाई / 2, ऊँचाई / 2, 100, 100);
} [/cceN_cpp]
इंट जैसे डेटा प्रकारों के साथ ही, हमें चर बनाने के लिए शुरुआत में "रंग myColor" का उपयोग करना होगा।
सेटअप में, हम "myColor = color(255, 0, 0)" का उपयोग वैरिएबल myColor को मान निर्दिष्ट करने के लिए करते हैं। जबकि फ़ंक्शन रंग (ए, बी, सी) सही ढंग से दर्शाता है कि डेटा के इस सेट ने एक रंग प्रकार बनाया है ताकि चर myColor आयात किया जा सके। यदि आप "myColor = (255, 0, 0)" लिखते हैं, तो प्रोग्राम गलत हो जाएगा।
अंत में, हम रंग पैडिंग के संचालन को महसूस करने के लिए भरण () का उपयोग करते हैं। फ़ंक्शन भरण () और स्ट्रोक () दोनों ओवरलैप करने में सक्षम हैं। मात्रा और प्रकार के मापदंडों के अनुसार इसके अलग-अलग प्रभाव होंगे। केवल एक पूर्णांक चर आयात करना, जो इसका प्रतिनिधित्व करता है, केवल ग्रेस्केल वाला रंग है। एक चर रंग आयात करते समय, इसका मतलब है कि रंग सीमा बड़ी होगी। आप एक रंग चर और एक पूर्णांक चर भी आयात कर सकते हैं, उपरोक्त में फ़ंक्शन fill() को fill(myColor, 150) में बदल सकते हैं, फिर आप दूसरे पैरामीटर के साथ अल्फा को नियंत्रित कर सकते हैं।
चरण 3: भरने की ओवरलैपिंग विधि
स्ट्रोक, पृष्ठभूमि में भरने के साथ एक ही अतिव्यापी विधि है।
रंग का चैनल मूल्य पढ़ें
असाइनमेंट के अलावा, आप स्वतंत्र रूप से रंग चर में RGB मान प्राप्त कर सकते हैं
कोड उदाहरण (9-3):
[cceN_cpp विषय = "सुबह"] myColor रंग;
व्यर्थ व्यवस्था(){
myColor = रंग (२५५, १२५, ०);
println (लाल (myColor));
println (हरा (myColor));
println (नीला (myColor));
}
[/cceN_cpp]
कंसोल में परिणाम: 255, 125, 0।
फ़ंक्शन लाल (), हरा (), नीला () अपेक्षाकृत myColor में लाल, हरे और नीले चैनल के मान पर वापस आ जाएगा।
हेक्साडेसिमल असाइनमेंट
आरजीबी दिखाने के लिए दशमलव संख्याओं का उपयोग करने के अलावा, हम हेक्साडेसिमल का भी उपयोग कर सकते हैं। दशमलव का अर्थ है 1 बढ़ाना जब यह 10 से मिलता है। जबकि हेक्साडेसिमल का अर्थ है 1 जब यह 16 से मिलता है। दशमलव के साथ इसका सापेक्ष संबंध है: "0 से 9" "0 के अनुरूप है" से 9", "ए से एफ" "10 से 15" के अनुरूप है।
नीचे दी गई तस्वीर रूपांतरण विधि का चित्रण है।
बेशक, अगर हमें ff7800 जैसे हेक्साडेसिमल मानों का एक सेट मिलता है, तो हमें इसे मैन्युअल रूप से परिवर्तित करने की आवश्यकता नहीं है। कार्यक्रम सीधे रंग चर के लिए मान निर्दिष्ट करेगा। यह बहुत सुविधाजनक है।
हम देख सकते हैं कि ऑनलाइन कई रंग कार्ड रंग प्रदर्शित करने के लिए हेक्साडेसिमल विधि अपनाते हैं।
डिजाइन कम्युनिटी ड्रिबल की तरह, कलाकृतियों को रंग पैलेट से जोड़ा जाएगा। यदि आपको कोई पसंदीदा रंग दिखाई देता है, तो आप इसे कार्यक्रम में लागू कर सकते हैं।
कोड उदाहरण (9-4):
[सीसीईएन_सीपीपी थीम = "डॉन"] रंग वापस रंग, रंगए, रंगबी, रंगसी;
व्यर्थ व्यवस्था(){
आकार (400, 400);
रेक्टमोड (केंद्र);
नोस्ट्रोक ();
बैककलर = #395b71;
रंगए = #c4d7fb;
कलरबी = #f4a7b4;
कलरसी = #f9e5f0;
}
शून्य ड्रा () {
पृष्ठभूमि (बैककलर);
भरें (रंग ए);
रेक्ट (200, 200, 90, 300);
भरें (रंग बी);
रेक्ट (१००, २००, ९०, ३००);
भरें (रंग सी);
रेक्ट (300, 200, 90, 300);
} [/cceN_cpp]
अब, बेतरतीब ढंग से मूल्यों को इनपुट करने की तुलना में रंग बेहतर प्रभाव के साथ बहुत अधिक आरामदायक है।
हेक्साडेसिमल रंग मान से पहले "#" जोड़ें, फिर आप सीधे चर रंग के लिए मान निर्दिष्ट कर सकते हैं।
चरण 4: एचएसबी मोड
आरजीबी मोड के अलावा, आगे हम एचएसबी मोड के बारे में बात करने जा रहे हैं। निम्नलिखित एचएसबी मोड की वैल्यू असाइनमेंट विधि दिखाता है।
कोड उदाहरण (9-5):
[cceN_cpp विषय = "सुबह"] शून्य सेटअप () {
आकार (400, 400);
कलरमोड (एचएसबी);
}
शून्य ड्रा () {
पृष्ठभूमि (0);
रेक्टमोड (केंद्र);
के लिए (int i = 0; i <20; i++) {
रंग कर्नल = रंग (i / 20.0 * 255, 255, 255);
भरें (कॉल);
रेक्ट (i * 20 + 10, ऊंचाई / 2, 10, 300);
}
} [/cceN_cpp]
प्रसंस्करण में, एचएसबी मोड को स्विच करने के लिए, हमें केवल कलरमोड (एचएसबी) का एक वाक्य जोड़ना होगा। फंक्शन कलरमोड () का उपयोग कलर मोड को शिफ्ट करना है। यदि हम कोष्ठक में “HSB” लिखते हैं, तो यह HSB मोड पर सेट हो जाएगा; जब हम "आरजीबी" लिखते हैं, तो इसे आरजीबी मोड में स्थानांतरित कर दिया जाएगा।
ध्यान देने योग्य बात यह है कि जब हम colorMode(HSB) लिखते हैं, तो HSB का डिफ़ॉल्ट अधिकतम मान 255 होता है। यह फोटोशॉप में अधिकतम मूल्य से काफी अलग है। फोटोशॉप में, H का अधिकतम मान 360 है, S और B का अधिकतम मान 100 है। इसलिए हमें रूपांतरण करने की आवश्यकता है।
यदि Photoshop में HSB मान (55, 100, 100) है, तो जब प्रोसेसिंग में कनवर्ट किया जाता है, तो यह मान (55/360 × 255, 255, 255), अर्थात (40, 255, 255) होना चाहिए।
colorMode() एक ऐसा फ़ंक्शन है जिसे ओवरलैप किया जा सकता है। आगे हम आपको इसका विस्तार से परिचय देंगे।
चरण 5: ColorMode की ओवरलैपिंग विधि
इसलिए, यदि आप फ़ोटोशॉप में मैन्युअल रूप से एचएसबी मान को परिवर्तित नहीं करना चाहते हैं, तो आप "कलरमोड ()" को "कलरमोड (एचएसबी, 360, 100, 100)" में लिख सकते हैं।
एचएसबी मोड एप्लीकेशन केस 1
चूंकि आरजीबी मोड रंग के परिवर्तनों को नियंत्रित करने के लिए काफी सुविधाजनक नहीं है, इस समय, यदि आप रंगों को अधिक लचीले ढंग से नियंत्रित करना चाहते हैं, तो आप एचएसबी मोड पर विचार कर सकते हैं।
कोड उदाहरण (9-6):
[cceN_cpp विषय = "सुबह"] शून्य सेटअप () {
आकार (800, 800);
पृष्ठभूमि (0);
कलरमोड (एचएसबी);
}
शून्य ड्रा () {
स्ट्रोकवेट(2);
स्ट्रोक (इंट (मिली ()/1000.0 * 10)% 255, 255, 255);
फ्लोट न्यूएक्स, न्यूवाई;
न्यूएक्स = माउसएक्स + (शोर (मिली ()/1000.0 + 1.2) - 0.5) * 800;
न्यूवाई = माउसवाई + (शोर (मिली ()/1000.0) - 0.5) * 800;
लाइन (माउसएक्स, माउसवाई, न्यूएक्स, न्यूवाई);
} [/cceN_cpp]
जब हम स्ट्रोक में H (रंग) को नियंत्रित करते हैं, तो हमने मिलिस () का उपयोग किया है। यह शुरुआत से लेकर वर्तमान तक के संचालन का समय प्राप्त करेगा। इस प्रकार, जैसे-जैसे समय आगे बढ़ेगा, H(hue) का मान अपने आप बढ़ जाएगा, फिर रंग बदल जाएगा।
मिलिस () की इकाई एमएस है। इसलिए, जब प्रोग्राम 1 सेकंड के लिए चलता है, तो वापसी मूल्य 1000 होगा। इससे एक मान बहुत बड़ा हो जाएगा। इसलिए हमें इसे 1000.0 से भाग देना होगा।
क्योंकि हम आशा करते हैं कि रंग एक आवधिक संचलन प्रस्तुत करेंगे, इसलिए जब हम अंत में स्ट्रोक में पहला पैरामीटर लिखते हैं तो हमें मोडुलो ऑपरेशन करना पड़ता है। यह सुनिश्चित कर सकता है कि यह 0 से फिर से शुरू होगा जब एच (ह्यू) 255 को पार कर गया है।
फंक्शन स्ट्रोकवेट () लाइनों की मोटाई को नियंत्रित कर सकता है। ब्रैकेट के भीतर पैरामीटर के लिए संबंधित इकाई पिक्सेल है।
चरण 6: मोड एप्लिकेशन केस 2
कोड उदाहरण (9-7):
[cceN_cpp विषय = "सुबह"] पूर्णांक संख्या; // वर्तमान में खींची गई रेखाओं की मात्रा
फ्लोट posX_A, posY_A; // बिंदु A. का निर्देशांक
फ्लोट posX_B, posY_B; // बिंदु B. का निर्देशांक
फ्लोट एंगलए, स्पीडए; // बिंदु ए का कोण, गति
फ्लोट एंगलबी, स्पीडबी; // बिंदु B का कोण, गति
फ्लोट त्रिज्याX_A, त्रिज्याY_A; // एक्स (वाई) एक्सल में बिंदु ए द्वारा गठित अंडाकार की त्रिज्या।
फ्लोट त्रिज्याX_B, त्रिज्याY_B; // वह एक्स (वाई) धुरी में बिंदु बी द्वारा गठित अंडाकार का त्रिज्या है।
व्यर्थ व्यवस्था() {
आकार (800, 800);
कलरमोड (एचएसबी);
पृष्ठभूमि (0);
स्पीडए = 0.0009;
स्पीडबी = 0.003;
त्रिज्याX_A = ३००;
त्रिज्याY_A = २००;
त्रिज्याX_B = २००;
त्रिज्याY_B = ३००;
}
शून्य ड्रा () {
अनुवाद (चौड़ाई / 2, ऊंचाई / 2);
के लिए (int i = 0; i <50; i++) {
कोणए += गतिए;
कोणबी += गतिबी;
posX_A = cos(angleA) *त्रिज्याX_A;
posY_A = sin(angleA) *त्रिज्याY_A;
posX_B = cos(angleB) *त्रिज्याX_B;
posY_B = sin(angleB) *त्रिज्याY_B;
स्ट्रोक (इंट (संख्या / 500.0)% 255, 255, 255, 10);
लाइन (posX_A, posY_A, posX_B, posY_B);
अंक++;
}
} [/cceN_cpp]
ऑपरेशन प्रभाव:
आउटपुट चित्र:
आपके द्वारा देखा गया पैटर्न निरंतर अतिव्यापी के माध्यम से एक गतिमान रेखा द्वारा निर्मित होता है। रेखा के दो अंतिम बिंदुओं के निशान अलग-अलग दो वृत्त हैं।
एचएसबी मोड के जरिए हमने ह्यू के बदलाव को नियंत्रित किया है। लाइनों की वृद्धि के साथ, रंग ऑफसेट हो जाएगा। जब बड़े पैमाने पर अर्ध-पारदर्शी रेखाएं ओवरलैप होती हैं, तो यह बहुत समृद्ध रंग ढाल बनाएगी।
हमने लाइन की मात्रा को नियंत्रित करने के लिए लूप के लिए उपयोग करने के उद्देश्य से फ़ंक्शन ड्रॉ में लूप के लिए एम्बेड किया है। यह इसके बराबर है कि हमने ड्राइंग गति को नियंत्रित किया है। लूप के लिए निर्णय की स्थिति के मूल्य में वृद्धि, यह ड्राइंग सीपड को बढ़ाएगी।
नीचे योजनाबद्ध आंकड़ा है। आप मंडलियों के मूवमेंट ट्रेस को अधिक स्पष्ट रूप से देख सकते हैं।
विभिन्न गति और त्रिज्या को समायोजित करें, गठित पैटर्न भी अलग होंगे। कोण, गति, त्रिज्याX, त्रिज्याY जैसे चरों को बदलने का प्रयास करें और देखें कि क्या होगा।
चरण 7: परत सम्मिश्रण मोड
हमने पहले जिन विभिन्न रंग मोड के बारे में बात की थी, वे सभी ग्राफिक्स के घटकों को रंगने के लिए उपयोग किए जाते हैं। रंग को नियंत्रित करने के लिए इस पद्धति का उपयोग करने के अलावा, प्रसंस्करण फ़ोटोशॉप जैसे विभिन्न परतों के सम्मिश्रण मोड का उपयोग कर सकता है।
PS में लेयर विंडो खोलें, लेयर्स के ब्लेंडिंग मोड को चुनने के लिए क्लिक करें, फिर हम इन विकल्पों को देख सकते हैं।
ये PS में मौजूद लेयर मोड हैं। इसे सरलता से बोलने के लिए, सम्मिश्रण मोड को एक प्रकार का रंग गणना मोड माना जा सकता है। यह तय करेगा कि "कलर ए" प्लस "कलर बी" होने पर आखिरी में कौन सा रंग बनाया जाएगा। यहाँ "रंग A" का अर्थ है वर्तमान परत के पीछे का रंग (जिसे आधार रंग भी कहा जाता है)। "रंग बी" का अर्थ है वर्तमान परत का रंग (जिसे मिश्रित रंग भी कहा जाता है)। कार्यक्रम आरजीबी मूल्य और रंग ए और बी के अल्फा के अनुसार रंग सी प्राप्त करने के लिए गणना करेगा। यह परिणाम रंग के रूप में स्क्रीन पर प्रदर्शित किया जाएगा।
विभिन्न परत मोड विभिन्न गणना विधियों के लिए है। लेखों की इस श्रृंखला के अगले भाग में, हम इसे विस्तार से समझाएंगे। अब हमें केवल पहले इसके उपयोग को जानना है।
आइए प्रोग्राम में ऐड मोड का उपयोग करने का एक उदाहरण देखें।
कोड उदाहरण (9-8):
[cceN_cpp विषय = "सुबह"] PImage image1, image2;
व्यर्थ व्यवस्था(){
आकार (800, 400);
इमेज 1 = लोडइमेज ("1.jpg");
इमेज 2 = लोडइमेज ("2.jpg");
}
शून्य ड्रा () {
पृष्ठभूमि (0);
ब्लेंडमोड (जोड़ें);
छवि (छवि 1, 0, 0, 400, 400);
छवि (छवि 2, माउसएक्स, माउसवाई, 400, 400);
}
[/cceN_cpp]
नतीजा:
फंक्शन ब्लेंडमोड () का उपयोग ग्राफिक्स के ब्लेंडिंग मोड को सेट करने के लिए किया जाता है। हम पीछे ADD भरते हैं इसका मतलब है कि हमने Add Mode सेट किया है।
कार्यक्रम में, परत की कोई अवधारणा नहीं है। लेकिन क्योंकि ग्राफिक घटकों का आरेखण अनुक्रम होता है, इस प्रकार चित्रों को सम्मिश्रण करते समय, छवि 1 को आधार रंग और छवि 2 को मिश्रित रंग माना जाता है।
ADD मोड "ब्राइटन क्लास" से संबंधित है। इसका इस्तेमाल करने के बाद आपको एक चमकदार प्रभाव मिलेगा।
नीचे एक सम्मिश्रण मोड है जिसका उपयोग प्रसंस्करण में किया जा सकता है।
चरण 8: प्रसंस्करण सम्मिश्रण मोड
हम प्रभाव देखने के लिए विभिन्न सम्मिश्रण मोड को बदलने का प्रयास कर सकते हैं।
जब उदाहरण (9-8) ने ओवरलैपिंग मोड अपनाया है (पृष्ठभूमि को सफेद पर सेट किया जाना चाहिए):
सब्स्ट्रैक्ट मोड का उपयोग करने के बाद (पृष्ठभूमि को सफेद पर सेट किया जाना चाहिए):
चरण 9: परत सम्मिश्रण मोड अनुप्रयोग केस
सम्मिश्रण मोड का उपयोग न केवल चित्रों के लिए किया जा सकता है, बल्कि कैनवास में सभी ग्राफिक घटकों के लिए भी उपयुक्त है। नीचे मोड जोड़ें के बारे में एक उपयोग प्रदर्शित किया गया है। इसका उपयोग विभिन्न प्रकाश प्रभावों के अनुरूप करने के लिए किया जा सकता है।
कोड उदाहरण (9-9):
[cceN_cpp विषय = "सुबह"] शून्य सेटअप () {
आकार (400, 400);
}
शून्य ड्रा () {
पृष्ठभूमि (0);
ब्लेंडमोड (जोड़ें);
इंट नंबर = इंट (3000 * माउसएक्स/400.0);
for(int i = 0;i < num;i++){
अगर (यादृच्छिक (1) <0.5) {
भरें (0, 50, 0);
}अन्यथा{
भरें (50);
}
अंडाकार (यादृच्छिक (50, चौड़ाई - 50), यादृच्छिक (50, ऊंचाई - 50), 20, 20);
}
}
[/cceN_cpp]
यहां, यादृच्छिक फ़ंक्शन के माध्यम से, हमने हरे रंग और सफेद रंग को मिश्रित किया है, जो पहले से ही अल्फा को कणों में ले गया है। हम वृत्त की मात्रा को नियंत्रित करने और अतिव्यापी प्रभाव देखने के लिए माउस का उपयोग कर सकते हैं।
जोड़ें और स्क्रीन काफी समान हैं।हालांकि यह रोशन करने के लिए समान है, सूक्ष्म अंतर हैं। आप इसे स्क्रीन से बदल सकते हैं और तुलना कर सकते हैं। ओवरलैप होने के बाद, ADD की शुद्धता और चमक अधिक होगी। यह प्रकाश प्रभाव को एनालॉग करने के लिए उपयुक्त है।
रंग के लिए, यहाँ हम इस अध्याय में समाप्त हो गए हैं। इस "भाषा" के लिए, आप पहले से ही पर्याप्त रिक्तियों में महारत हासिल कर चुके हैं। अब, आकार और रंग की दुनिया का आनंद लेने के लिए कोड का उपयोग करने के लिए जल्दी करें!
चरण 10: स्रोत
यह लेख यहां से है:https://www.elecfreaks.com/11462.html
यदि आपके कोई प्रश्न हैं, तो आप संपर्क कर सकते हैं: [email protected]।
सिफारिश की:
डिज़ाइनर के लिए दिलचस्प प्रोग्रामिंग गाइडेंस--अपना चित्र चलाना (भाग दो): 8 कदम
डिज़ाइनर के लिए दिलचस्प प्रोग्रामिंग गाइडेंस - अपना चित्र चलाना (भाग दो): गणित, आप में से अधिकांश के लिए, बेकार लगता है। हमारे दैनिक जीवन में सबसे अधिक उपयोग केवल जोड़, घटाना, गुणा और भाग करना है। हालाँकि, यदि आप प्रोग्राम के साथ बना सकते हैं तो यह काफी अलग है। जितना अधिक आप जानेंगे, उतना ही शानदार परिणाम आपको मिलेगा
ESP8266 RGB LED स्ट्रिप वाईफ़ाई नियंत्रण - NODEMCU वाईफ़ाई पर नियंत्रित एलईडी पट्टी के लिए एक IR रिमोट के रूप में - आरजीबी एलईडी स्ट्रिप स्मार्टफोन नियंत्रण: 4 कदम
ESP8266 RGB LED स्ट्रिप वाईफ़ाई नियंत्रण | NODEMCU वाईफ़ाई पर नियंत्रित एलईडी पट्टी के लिए एक IR रिमोट के रूप में | RGB LED STRIP स्मार्टफोन कंट्रोल: हाय दोस्तों इस ट्यूटोरियल में हम सीखेंगे कि RGB LED स्ट्रिप को नियंत्रित करने के लिए IR रिमोट के रूप में nodemcu या esp8266 का उपयोग कैसे करें और Nodemcu को वाईफाई पर स्मार्टफोन द्वारा नियंत्रित किया जाएगा। तो मूल रूप से आप अपने स्मार्टफोन से RGB LED STRIP को नियंत्रित कर सकते हैं
डिजाइनर के लिए दिलचस्प प्रोसेसिंग प्रोग्रामिंग गाइडेंस--मीडिया लोडिंग और इवेंट: 13 कदम
डिज़ाइनर के लिए दिलचस्प प्रोसेसिंग प्रोग्रामिंग गाइडेंस - मीडिया लोडिंग और इवेंट: प्रोसेसिंग में बहुत सारे बाहरी डेटा लोड किए जा सकते हैं, जिनमें से तीन प्रकार आमतौर पर उपयोग किए जाते हैं। वे छवि, ऑडियो और वीडियो अलग-अलग हैं। इस अध्याय में, हम इस बारे में बात करने जा रहे हैं कि घटना के साथ संयोजन में ऑडियो और वीडियो को कैसे लोड किया जाए
डिजाइनर के लिए दिलचस्प प्रोग्रामिंग गाइडेंस--प्रोग्राम प्रोसेस कंट्रोल- लूप स्टेटमेंट: 8 स्टेप्स
डिजाइनर के लिए दिलचस्प प्रोग्रामिंग गाइडेंस - प्रोग्राम प्रोसेस कंट्रोल- लूप स्टेटमेंट: प्रोग्राम प्रोसेस कंट्रोल- लूप स्टेटमेंट इस अध्याय से, आप एक महत्वपूर्ण और शक्तिशाली ज्ञान बिंदु-लूप स्टेटमेंट के संपर्क में आएंगे। इस अध्याय को पढ़ने से पहले, यदि आप कार्यक्रम में १०,००० वृत्त बनाना चाहते हैं, तो आप केवल एक टेर के साथ ही कर सकते हैं
डिज़ाइनर के लिए दिलचस्प प्रोग्रामिंग गाइडेंस--अपना चित्र चलाना (भाग एक): 16 कदम
डिज़ाइनर के लिए दिलचस्प प्रोग्रामिंग गाइडेंस--अपना चित्र चलाएँ (भाग एक): भागो! Daud! भागो!प्रोग्रामिंग इतना कठिन नहीं है। मुख्य बिंदु यह है कि आप अपनी लय को खोजें और इसे एक-एक करके करें। इस अध्याय को पढ़ने से पहले, मुझे आशा है कि आप पहले से ही बुनियादी फ़ंक्शन ड्राइंग विधि से परिचित हो चुके हैं, या आप चक्कर और भ्रमित महसूस करेंगे