這是一個(gè)用C語(yǔ)言繪制的哆啦A夢(mèng)。
編譯環(huán)境:VC6
第三方庫(kù):Easyx2022 注意需要提前安裝easyX,如沒(méi)有基礎(chǔ)可以先了解easyX圖形編程
1.引入圖形庫(kù)頭文件
#include <graphics.h>
2.繪制心形氣球
void heart(int x0, int y0, int size, COLORREF C) { double m, n, x, y; double i; for (i = 0; i <= 2 * size; i = i + 0.01) { // 產(chǎn)生極坐標(biāo)點(diǎn) m = i; n = -size * (((sin(i) * sqrt(fabs(cos(i)))) / (sin(i) + 1.4142)) - 2 * sin(i) + 2); // 轉(zhuǎn)換為笛卡爾坐標(biāo) x = n * cos(m) + x0; y = n * sin(m) + y0; setfillcolor(C); solidcircle((int)x, (int)y, 2); } }
3.繪制哆啦A夢(mèng)
// 畫(huà)臉 setfillcolor(LIGHTBLUE); // 頭 setlinecolor(BLACK); fillroundrect(-135, -206, 135, 54, 248, 248); setfillcolor(WHITE); // 臉 fillellipse(-115, -144, 115, 46); fillroundrect(-63, -169, 0, -95, 56, 56); // 右眼 fillroundrect(0, -169, 63, -95, 56, 56); // 左眼 setfillcolor(BLACK); solidcircle(-16, -116, 6); // 右眼球 solidcircle(16, -116, 6); // 左眼球 setfillcolor(RGB(201, 62, 0)); // 鼻子 fillcircle(0, -92, 15); line(0, -77, 0, -4); // 人中 arc(-108, -220, 108, -4, PI * 5 / 4, PI * 7 / 4); // 嘴 line(-42, -73, -90, -91); // 胡子 line(42, -73, 90, -91); line(-41, -65, -92, -65); line(41, -65, 92, -65); line(-42, -57, -90, -39); line(42, -57, 90, -39); // 畫(huà)身體 line(-81, 32, -138, 72); // 手臂(上) line(81, 32, 138, 72); line(-96, 96, -116, 110); // 手臂(下) line(96, 96, 116, 110); line(-96, 85, -96, 178); // 腿外側(cè) line(96, 85, 96, 178); arc(-10, 168, 10, 188, 0, PI); // 腿內(nèi)側(cè) setfillcolor(WHITE); // 手 fillcircle(-140, 99, 27); fillcircle(140, 99, 27); fillroundrect(-2, 178, -112, 205, 24, 24); // 腳 fillroundrect(2, 178, 112, 205, 24, 24); setfillcolor(LIGHTBLUE); // 身體填充藍(lán)色 floodfill(0, 100, BLACK); setfillcolor(WHITE); // 肚皮 fillcircle(0, 81, 75); solidrectangle(-60, 4, 60, 24); // 用白色矩形擦掉多余的肚皮 pie(-58, 23, 58, 139, PI, 0); // 口袋 // 畫(huà)鈴鐺 setfillcolor(RGB(169, 38, 0)); // 繩子 fillroundrect(-100, 23, 100, 42, 12, 12); setfillcolor(RGB(245, 237, 38)); // 鈴鐺外形 fillcircle(0, 49, 19); setfillcolor(BLACK); // 鈴鐺上的洞 solidellipse(-4, 50, 4, 57); setlinestyle(PS_SOLID, 3); line(0, 57, 0, 68); setlinestyle(PS_SOLID, 1); // 鈴鐺上的紋路 line(-16, 40, 16, 40); line(-18, 44, 18, 44); // 氣球 line(-140, 80, -140, -40); // 氣球連接線(xiàn) heart(-140, -150, 30, LIGHTRED); // 心形氣球
// 表白哆啦 // 編譯環(huán)境:Visual C++ 6.0,EasyX 2022 #include <graphics.h> #include <conio.h> #include<math.h> #define PI acos(-1.0) double th = PI / 180; // 繪制心形氣球 void heart(int x0, int y0, int size, COLORREF C) { double m, n, x, y; double i; for (i = 0; i <= 2 * size; i = i + 0.01) { // 產(chǎn)生極坐標(biāo)點(diǎn) m = i; n = -size * (((sin(i) * sqrt(fabs(cos(i)))) / (sin(i) + 1.4142)) - 2 * sin(i) + 2); // 轉(zhuǎn)換為笛卡爾坐標(biāo) x = n * cos(m) + x0; y = n * sin(m) + y0; setfillcolor(C); solidcircle((int)x, (int)y, 2); } } // 主函數(shù) int main() { // 創(chuàng)建大小為 800 * 600 的繪圖窗口 initgraph(800, 600); // 設(shè)置原點(diǎn) (0, 0) 為屏幕中央(Y軸默認(rèn)向下為正) setorigin(400, 300); // 使用白色填充背景 setbkcolor(WHITE); cleardevice(); // 畫(huà)臉 setfillcolor(LIGHTBLUE); // 頭 setlinecolor(BLACK); fillroundrect(-135, -206, 135, 54, 248, 248); setfillcolor(WHITE); // 臉 fillellipse(-115, -144, 115, 46); fillroundrect(-63, -169, 0, -95, 56, 56); // 右眼 fillroundrect(0, -169, 63, -95, 56, 56); // 左眼 setfillcolor(BLACK); solidcircle(-16, -116, 6); // 右眼球 solidcircle(16, -116, 6); // 左眼球 setfillcolor(RGB(201, 62, 0)); // 鼻子 fillcircle(0, -92, 15); line(0, -77, 0, -4); // 人中 arc(-108, -220, 108, -4, PI * 5 / 4, PI * 7 / 4); // 嘴 line(-42, -73, -90, -91); // 胡子 line(42, -73, 90, -91); line(-41, -65, -92, -65); line(41, -65, 92, -65); line(-42, -57, -90, -39); line(42, -57, 90, -39); // 畫(huà)身體 line(-81, 32, -138, 72); // 手臂(上) line(81, 32, 138, 72); line(-96, 96, -116, 110); // 手臂(下) line(96, 96, 116, 110); line(-96, 85, -96, 178); // 腿外側(cè) line(96, 85, 96, 178); arc(-10, 168, 10, 188, 0, PI); // 腿內(nèi)側(cè) setfillcolor(WHITE); // 手 fillcircle(-140, 99, 27); fillcircle(140, 99, 27); fillroundrect(-2, 178, -112, 205, 24, 24); // 腳 fillroundrect(2, 178, 112, 205, 24, 24); setfillcolor(LIGHTBLUE); // 身體填充藍(lán)色 floodfill(0, 100, BLACK); setfillcolor(WHITE); // 肚皮 fillcircle(0, 81, 75); solidrectangle(-60, 4, 60, 24); // 用白色矩形擦掉多余的肚皮 pie(-58, 23, 58, 139, PI, 0); // 口袋 // 畫(huà)鈴鐺 setfillcolor(RGB(169, 38, 0)); // 繩子 fillroundrect(-100, 23, 100, 42, 12, 12); setfillcolor(RGB(245, 237, 38)); // 鈴鐺外形 fillcircle(0, 49, 19); setfillcolor(BLACK); // 鈴鐺上的洞 solidellipse(-4, 50, 4, 57); setlinestyle(PS_SOLID, 3); line(0, 57, 0, 68); setlinestyle(PS_SOLID, 1); // 鈴鐺上的紋路 line(-16, 40, 16, 40); line(-18, 44, 18, 44); // 氣球 line(-140, 80, -140, -40); // 氣球連接線(xiàn) heart(-140, -150, 30, LIGHTRED); // 心形氣球 // 按任意鍵退出 _getch(); closegraph(); return 0; }
本文固定URL:http://www.sztianhecheng.cn/course/1382
C語(yǔ)言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會(huì)寫(xiě)的:零基礎(chǔ)C語(yǔ)言學(xué)練課程
解決困擾你多年的C語(yǔ)言疑難雜癥特性的C語(yǔ)言進(jìn)階課程
從零到寫(xiě)出一個(gè)爬蟲(chóng)的Python編程課程
只會(huì)語(yǔ)法寫(xiě)不出代碼?手把手帶你寫(xiě)100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門(mén)課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程