C语言easyx库绘图
使用easyx 绘制一个哆啦A梦的头像
绘制一个哆啦A梦的案例
核心就是画出椭圆
画出圆形
画出 直线
加上每个相关点的坐标
第一步:分析

头部 是两个椭圆一个蓝色 一个白色 使用 ellipse函数
眼睛 是两个椭圆 眼珠子是两个圆
嘴巴十个弧形
鼻子 圆形
还有线条
胡须可以直线 也可以弧形 无所谓
第二步骤: 创建画布
#include <easyx.h>
#include <stdio.h>
int main() {
//创建画布
initgraph(1024, 1024);
//设置背景色-白色
setbkcolor(WHITE);
//清楚initgraph的默认黑色背景
cleardevice();
//关闭前拦截一下
getchar();
//关闭画布
closegraph();
return 0;
}
此时就会生成白色的画布

第三步骤:绘制头部
找到一个矩形把头包裹进去 找到左上角 和右下角的点
绘制椭圆:
内部填充蓝色
线条为实现 宽度为4
//绘制头部
//设置绘制的线条颜色
setlinecolor(BLACK);
//设置线条的样式 粗细
setlinestyle(PS_SOLID, 4);
//设置填充的颜色
setfillcolor(BLUE);
//绘制椭圆
fillellipse(118, 125, 990, 931);

在绘制白色的椭圆
//绘制白色的椭圆
setfillcolor(WHITE);
fillellipse(189, 271, 919, 931);

第四步:绘制眼睛
//绘制眼睛
fillellipse(375, 170, 555, 420);
fillellipse(555, 170, 735, 420);

第五步:绘制眼珠子
//绘制眼珠子
setfillcolor(BLACK); //眼珠子用黑色填充
solidcircle(484, 333, 25);//不需要描边 只需要填充 也就是setlinestyle 和setlinecolor 无效
solidcircle(617, 333, 25);//不需要描边 只需要填充 也就是setlinestyle 和setlinecolor 无效

第六步:绘制 高光
//绘制高光
setfillcolor(WHITE);//白色的高光
solidcircle(484, 333, 10);
solidcircle(617, 333, 10);

第七步:鼻子
setfillcolor(RED);
fillcircle(554, 420, 35);
line(554, 460, 554, 828);

第八步:绘制嘴巴
//绘制嘴巴
//需要借助 画弧线的功能
//360度 =2π 要几度 就去算几个π
//例如 90度 360的四分之一 2π的四分之一 就是 0.5π π/2
//逆时针旋转 从开始弧度 到结束的弧度 画弧线
arc(320, 510, 789, 827, PI, 2 * PI);//矩形的左上角 右下角 开始弧度 结束弧度

第九步:绘制胡须
//绘制胡须
//画线段 表示胡须 开始和结束点
line(125, 313, 296, 410);
line(83, 444, 270, 474);
line(83, 595, 262, 527);
line(819, 414, 990, 320);
line(845, 478, 1029, 448);
line(853, 542, 1029, 660);

第十步:源码分享
#include <easyx.h>
#include <stdio.h>
//计算弧度
#define PI 3.14
int main() {
//创建画布
initgraph(1024, 1024);
//设置背景色-白色
setbkcolor(WHITE);
//清楚initgraph的默认黑色背景
cleardevice();
//绘制头部
//设置绘制的线条颜色
setlinecolor(BLACK);
//设置线条的样式 粗细
setlinestyle(PS_SOLID, 4);
//设置填充的颜色
setfillcolor(BLUE);
//绘制椭圆
fillellipse(118, 125, 990, 931);
//绘制白色的椭圆
setfillcolor(WHITE);
fillellipse(189, 271, 919, 931);
//绘制眼睛
fillellipse(375, 170, 555, 420);
fillellipse(555, 170, 735, 420);
//绘制眼珠子
setfillcolor(BLACK); //眼珠子用黑色填充
solidcircle(484, 333, 25);//不需要描边 只需要填充 也就是setlinestyle 和setlinecolor 无效
solidcircle(617, 333, 25);//不需要描边 只需要填充 也就是setlinestyle 和setlinecolor 无效
//绘制高光
setfillcolor(WHITE);//白色的高光
solidcircle(484, 333, 10);
solidcircle(617, 333, 10);
//鼻子
setfillcolor(RED);
fillcircle(554, 420, 35);
line(554, 460, 554, 828);
//绘制嘴巴
//需要借助 画弧线的功能
//360度 =2π 要几度 就去算几个π
//例如 90度 360的四分之一 2π的四分之一 就是 0.5π π/2
//逆时针旋转 从开始弧度 到结束的弧度 画弧线
arc(320, 510, 789, 827, PI, 2 * PI);//矩形的左上角 右下角 开始弧度 结束弧度
//绘制胡须
//画线段 表示胡须 开始和结束点
line(125, 313, 296, 410);
line(83, 444, 270, 474);
line(83, 595, 262, 527);
line(819, 414, 990, 320);
line(845, 478, 1029, 448);
line(853, 542, 1029, 660);
//关闭前拦截一下
getchar();
//关闭画布
closegraph();
return 0;
}
效果图

这篇博客详细介绍了如何使用C语言结合easyX库来绘制哆啦A梦的头像,从分析形状到逐步绘制头部、眼睛、眼珠、高光、鼻子、嘴巴和胡须,每个步骤都提供了关键的坐标和绘图函数。最终展示了绘制完成的哆啦A梦头像效果图。

8903

被折叠的 条评论
为什么被折叠?



