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

सी ग्राफिक्स का उपयोग करके बाढ़ भरण एल्गोरिदम

अवधारणा

किसी दिए गए आयत के संबंध में, हमारा कार्य बाढ़ भरण एल्गोरिथम लागू करके इस आयत को भरना है।

इनपुट

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

आउटपुट

सी ग्राफिक्स का उपयोग करके बाढ़ भरण एल्गोरिदम

विधि

// पिछले रंग 'OldColor' को '(a, b)' पर और (a, b) के आसपास के सभी पिक्सल को नए रंग 'NewColor' और फ्लडफिल (a, b, NewColor, OldColor)

  • अगर स्क्रीन के बाहर a या b है, तो वापस आएं।

  • अगर getpixel(a, b) का रंग OldColor जैसा ही है, तो

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

    फ्लडफिल (ए+1, बी, न्यूकलर, ओल्डकलर);<

    फ्लडफिल (ए-1, बी, न्यूकलर, ओल्ड कलर);

    फ्लडफिल (ए, बी+1, न्यूकलर, ओल्डकलर);

    फ्लडफिल (ए, बी-1, न्यूकलर, ओल्डकलर);

उदाहरण

// Shows program to fill polygon using floodfill
// algorithm
#include <graphics.h>
#include <stdio.h>
// Describes flood fill algorithm
void flood(int x1, int y1, int new_col, int old_col){
   // Checking current pixel is old_color or not
   if (getpixel(x1, y1) == old_col) {
      // Putting new pixel with new color
      putpixel(x1, y1, new_col);
      // Shows recursive call for bottom pixel fill
      flood(x1 + 1, y1, new_col, old_col);
      //Shows recursive call for top pixel fill
      flood(x1 - 1, y1, new_col, old_col);
      // Shows recursive call for right pixel fill
      flood(x1, y1 + 1, new_col, old_col);
      // Shows recursive call for left pixel fill
      flood(x1, y1 - 1, new_col, old_col);
   }
}
int main(){
   int gd1, gm1 = DETECT;
   // Initializing graph
   initgraph(&gd1, &gm1, "");
   //Shows rectangle coordinate
   int top1, left1, bottom1, right1;
   top1 = left1 = 50;
   bottom1 = right1 = 300;
   // Shows rectangle for print rectangle
   rectangle(left1, top1, right1, bottom1);
   // Fills start cordinate
   int x1 = 51;
   int y1 = 51;
   // Shows new color to fill
   int newcolor = 12;
   // Shows old color which you want to replace
   int oldcolor = 0;
   // Calling for fill rectangle
   flood(x1, y1, newcolor, oldcolor);
   getch();
   return 0;
}

आउटपुट

सी ग्राफिक्स का उपयोग करके बाढ़ भरण एल्गोरिदम


  1. सी ग्राफिक्स का उपयोग करके बाढ़ भरण एल्गोरिदम

    अवधारणा किसी दिए गए आयत के संबंध में, हमारा कार्य बाढ़ भरण एल्गोरिथम लागू करके इस आयत को भरना है। इनपुट 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++ में कंप्यूटर ग्राफिक्स में प्वाइंट क्लिपिंग एल्गोरिथम

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

  1. इमेजफिल्टोबॉर्डर() (जीडी) फ़ंक्शन का उपयोग करके PHP में विशिष्ट रंग में बाढ़ भरें।

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