Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C ग्राफिक्स का उपयोग करके फ्लड फिल एल्गोरिदम


अवधारणा

दिए गए आयत के संबंध में, हमारा कार्य इस आयत को फ्लड फिल एल्गोरिदम लागू करके भरना है।

इनपुट

rectangle(left = 50, top = 50, right = 100, bottom = 100) floodFill(a = 55, b = 55, NewColor = 12, OldColor = 0)

आउटपुट

C ग्राफिक्स का उपयोग करके फ्लड फिल एल्गोरिदम

विधि

// एक पुनरावर्ती फ़ंक्शन जो पिछले रंग 'OldColor' को '(a, b)' पर और (a, b) के सभी आसपास के पिक्सेल को नए रंग 'NewColor' से बदलता है और floodFill(a, b, NewColor, OldColor)

  • यदि a या b स्क्रीन के बाहर है, तो लौटें।

  • यदि getpixel(a, b) का रंग OldColor के समान है, तो

  • ऊपर, नीचे, दाएं और बाएं के लिए पुनरावृत्ति करें।

    floodFill(a+1, b, NewColor, OldColor);

    floodFill(a-1, b, NewColor, OldColor);

    floodFill(a, b+1, NewColor, OldColor);

    floodFill(a, b-1, NewColor, OldColor);

उदाहरण

// फ्लड फिल एल्गोरिदम का उपयोग करके बहुभुज भरने का प्रोग्राम #include <graphics.h> #include <stdio.h> // फ्लड फिल एल्गोरिदम का वर्णन void flood(int x1, int y1, int new_col, int old_col){     // वर्तमान पिक्सेल की जांच कि यह old_color है या नहीं     if (getpixel(x1, y1) == old_col) {         // नए रंग के साथ नया पिक्सेल डालें         putpixel(x1, y1, new_col);         // नीचे के पिक्सेल भरने के लिए पुनरावर्ती कॉल         flood(x1 + 1, y1, new_col, old_col);         // ऊपर के पिक्सेल भरने के लिए पुनरावर्ती कॉल         flood(x1 - 1, y1, new_col, old_col);         // दाएं पिक्सेल भरने के लिए पुनरावर्ती कॉल         flood(x1, y1 + 1, new_col, old_col);         // बाएं पिक्सेल भरने के लिए पुनरावर्ती कॉल         flood(x1, y1 - 1, new_col, old_col);     } } int main(){     int gd1, gm1 = DETECT;     // ग्राफ़ प्रारंभ करना     initgraph(&gd1, &gm1, "");     // आयत निर्देशांक दिखाता है     int top1, left1, bottom1, right1;     top1 = left1 = 50;     bottom1 = right1 = 300;     // प्रिंट आयत के लिए आयत दिखाता है     rectangle(left1, top1, right1, bottom1);     // भरने की प्रारंभिक निर्देशांक     int x1 = 51;     int y1 = 51;     // भरने के लिए नया रंग दिखाता है     int newcolor = 12;     // पुराना रंग जिसे आप बदलना चाहते हैं     int oldcolor = 0;     // आयत भरने के लिए कॉल     flood(x1, y1, newcolor, oldcolor);     getch();     return 0; }

आउटपुट

C ग्राफिक्स का उपयोग करके फ्लड फिल एल्गोरिदम

  1. C ग्राफिक्स का उपयोग करके फ्लड फिल एल्गोरिदम C ग्राफिक्स का उपयोग करके फ्लड फिल एल्गोरिदम

    अवधारणा दिए गए आयत के संबंध में, हमारा कार्य इस आयत को फ्लड फिल एल्गोरिदम लागू करके भरना है। इनपुट rectangle(left = 50, top = 50, right = 100, bottom = 100) floodFill(a = 55, b = 55, NewColor = 12, OldColor = 0) आउटपुट विधि // एक पुनरावर्ती फ़ंक्शन जो पिछले रंग OldColor को (a, b) पर और (a, b) के सभ

  1. C++ में कंप्यूटर ग्राफिक्स में पॉइंट क्लिपिंग एल्गोरिदम C++ में कंप्यूटर ग्राफिक्स में पॉइंट क्लिपिंग एल्गोरिदम

    कंप्यूटर ग्राफिक्स कंप्यूटर स्क्रीन पर छवियों और ग्राफिक्स को बनाने से संबंधित है। यहां, हम स्क्रीन को 2-D निर्देशांक प्रणाली के रूप में मानते हैं। यह निर्देशांक प्रणाली शीर्ष-बाएं (0,0) से शुरू होती है और नीचे-दाएं पर समाप्त होती है। व्यूइंग प्लेन कंप्यूटर ग्राफिक्स में ग्राफिक्स बनाने के लिए परिभ

  1. PHP में imagefilltoborder() (GD) फ़ंक्शन का उपयोग करके विशिष्ट रंग में फ्लड फिल कैसे करें? PHP में imagefilltoborder() (GD) फ़ंक्शन का उपयोग करके विशिष्ट रंग में फ्लड फिल कैसे करें?

    imagefilltoborder() PHP में एक अंतर्निहित फ़ंक्शन है जिसका उपयोग किसी विशिष्ट रंग के साथ फ्लड फिल करने के लिए किया जाता है, जिसका बॉर्डर रंग बॉर्डर द्वारा परिभाषित होता है। फिल के लिए प्रारंभिक बिंदु (x,y) है या शीर्ष बायां (0, 0) है और क्षेत्र को रंग से भरा जाता है। सिंटैक्स bool imagefilltoborder