কম্পিউটার টিউটোরিয়াল

C গ্রাফিক্স-এ ফ্লাড ফিল অ্যালগরিদম ব্যবহার

একটি রেক্ট্যাঙ্গেল দেওয়া আছে। ফ্লাড ফিল অ্যালগরিদম ব্যবহার করে এই রেক্ট্যাঙ্গেল ভরতে হবে। রিকারসিভভাবে পিক্সেল রিপ্লেস করা হয়।

পদ্ধতি

  • flood(x, y, new_col, old_col) রিকারসিভ ফাংশন।
  • যদি (x,y) স্ক্রিনের বাইরে হয় তবে রিটার্ন।
  • যদি getpixel(x,y) == old_col হয়, তবে putpixel(x,y,new_col) এবং চারদিকেই রিকারসিভ কল (x±1,y), (x,y±1)।

C প্রোগ্রাম উদাহরণ

#include <graphics.h>
#include <stdio.h>

void flood(int x, int y, int new_col, int old_col) {
    if (getpixel(x, y) == old_col) {
        putpixel(x, y, new_col);
        flood(x+1, y, new_col, old_col);
        flood(x-1, y, new_col, old_col);
        flood(x, y+1, new_col, old_col);
        flood(x, y-1, new_col, old_col);
    }
}

int main() {
    int gd, gm = DETECT;
    initgraph(&gd, &gm, "");
    int top=50, left=50, bottom=300, right=300;
    rectangle(left, top, right, bottom);
    int x=51, y=51, newcolor=12, oldcolor=0;
    flood(x, y, newcolor, oldcolor);
    getch();
    return 0;
}

আউটপুট

গ্রাফিক্স উইন্ডোতে রেক্ট্যাঙ্গেল পুরো ভরা হবে।

  1. C-তে graphics.h-র fillpoly() ফাংশন ব্যবহার

  2. C গ্রাফিক্স-এ ফ্লাড ফিল অ্যালগরিদম ব্যবহার

  3. C++-এ কম্পিউটার গ্রাফিক্স-এ পয়েন্ট ক্লিপিং অ্যালগরিদম

  4. PHP-তে imagefilltoborder() (GD) ফাংশন ব্যবহার করে নির্দিষ্ট রঙে ফ্লাড ফিল কীভাবে করবেন?