Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ฟังก์ชัน fillpoly() ในภาษา C

แนวคิด

ไฟล์ส่วนหัว graphics.h มีฟังก์ชัน fillpoly() ซึ่งใช้สำหรับวาดและเติมสีรูปหลายเหลี่ยม เช่น สามเหลี่ยม สี่เหลี่ยม เหลี่ยมหกเหลี่ยม ฯลฯ ฟังก์ชันนี้ต้องการอาร์กิวเมนต์เดียวกับ drawpoly()

ไวยากรณ์

void fillpoly( int number, int *polypoints );

ในที่นี้ number ระบุ (n + 1) จำนวนจุด โดยที่ n คือจำนวนจุดมุม (vertices) ในรูปหลายเหลี่ยม และ polypoints ชี้ไปยังลำดับของจำนวนเต็ม (n*2) ตัว

อินพุต

arr[] = {320, 150, 400, 250, 250, 350, 320, 150};

เอาต์พุต

ฟังก์ชัน fillpoly() ในภาษา C

คำอธิบาย

การประกาศของ fillpoly() มีสองอาร์กิวเมนต์: number ระบุ (n + 1) จำนวนจุด โดย n คือจำนวนจุดมุมในรูปหลายเหลี่ยม อาร์กิวเมนต์ที่สอง polypoints ชี้ไปยังลำดับของจำนวนเต็ม (n * 2) ตัว ดังนั้นแต่ละคู่ของจำนวนเต็มให้พิกัด x และ y ของจุดบนรูปหลายเหลี่ยม เราระบุ (n + 1) จุดเพราะพิกัดจุดแรกควรเท่ากับจุดที่ (n + 1) เพื่อวาดรูปที่สมบูรณ์

ตัวอย่าง

#include <graphics.h>

// โค้ดหลัก
int main() {
    // gm1 คือโหมดกราฟิกซึ่งเป็นโหมดการแสดงผลของคอมพิวเตอร์ที่สร้างภาพด้วยพิกเซล
    // DETECT เป็นแมโครที่กำหนดในไฟล์ส่วนหัว "graphics.h"
    int gd1 = DETECT, gm1;
    // พิกัดต่างๆ สำหรับรูปหลายเหลี่ยม
    int arr1[] = {320, 150, 400, 250, 250, 350, 320, 150};
    // initgraph เริ่มต้นระบบกราฟิกโดยโหลดไดรเวอร์กราฟิกจากดิสก์
    initgraph(&gd1, &gm1, "");
    // ฟังก์ชัน fillpoly
    fillpoly(4, arr1);
    getch();
    // ฟังก์ชัน closegraph ปิดโหมดกราฟิกและปล่อยหน่วยความจำทั้งหมดที่จัดสรรโดยระบบกราฟิก
    closegraph();
    return 0;
}

ผลลัพธ์

ฟังก์ชัน fillpoly() ในภาษา C