ধারণা
এখন হেডার ফাইল graphics.h-এ fillpoly() ফাংশন রয়েছে যা একটি বহুভুজ যেমন ত্রিভুজ, আয়তক্ষেত্র, পঞ্চভুজ, ষড়ভুজ ইত্যাদি আঁকতে এবং পূরণ করতে প্রয়োগ করা হয়। তাই এই ফাংশনটি drawpoly() এর মতো একই আর্গুমেন্ট প্রয়োজন।
সিনট্যাক্স
void fillpoly( int number, int *polypoints );
এই ক্ষেত্রে, সংখ্যা নির্দেশ করে (n + 1) বিন্দুর সংখ্যা যেখানে, n হল একটি বহুভুজের শীর্ষবিন্দুর সংখ্যা এবং বহুবিন্দুগুলি (n*2) পূর্ণসংখ্যার একটি ক্রম নির্দেশ করে৷
ইনপুট
arr[] = {320, 150, 400, 250, 250, 350, 320, 150};
আউটপুট
ব্যাখ্যা
সুতরাং fillpoly() এর ঘোষণায় দুটি আর্গুমেন্ট রয়েছে:সংখ্যা নির্দিষ্ট করে (n + 1) বিন্দুর সংখ্যা যেখানে n একটি বহুভুজের শীর্ষবিন্দুর সংখ্যা হিসাবে নির্দেশিত হয়। দ্বিতীয় যুক্তি, যেমন, পলিপয়েন্টগুলি (n * এর ক্রমকে নির্দেশ করে) 2) পূর্ণসংখ্যা। এর ফলে, পূর্ণসংখ্যার প্রতিটি জোড়া বহুভুজের একটি বিন্দুর x এবং y স্থানাঙ্ক প্রদান করে। সুতরাং আমরা (n + 1) পয়েন্টগুলি নির্দেশ করি কারণ একটি সম্পূর্ণ চিত্র আঁকার জন্য প্রথম বিন্দু স্থানাঙ্কগুলি (n + 1)তমের সমান হওয়া উচিত।
উদাহরণ
// C Implementation for fillpoly() #include <graphics.h> // driver code intmain(){ // Here gm1 is Graphics mode which is a computer display mode that // produces image using pixels. DETECT is a macro defined in // "graphics.h" header file intgd1 = DETECT, gm1; // Different coordinates for polygon intarr1[] = {320, 150, 400, 250, 250, 350, 320, 150}; // Here initgraph initializes the // graphics system by loading a // graphics driver from disk initgraph(&gd1, &gm1, ""); // fillpoly function fillpoly(4, arr1); getch(); // Here closegraph function closes the // graphics mode and deallocates // all memory allocated by // graphics system . closegraph(); return0; }
আউটপুট