c语言+easyX 使用easyx 绘制一个哆啦A梦的头像
C语言easyx库绘图
- 使用easyx 绘制一个哆啦A梦的头像
- 第一步:分析
- 第二步骤: 创建画布
- 第三步骤:绘制头部
- 第四步:绘制眼睛
- 第五步:绘制眼珠子
- 第六步:绘制 高光
- 第七步:鼻子
- 第八步:绘制嘴巴
- 第九步:绘制胡须
- 第十步:源码分享
- 效果图
使用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 使用easyx 绘制一个哆啦A梦的头像相关推荐
- 使用Turtle库绘制图像----哆啦A梦
使用Turtle库绘制图像----哆啦A梦 前言 Turtle库是Python中的一个绘图的函数库. 老师布置的作业,让我们设计图像 呜呜呜~好难过,毕竟太死了这个工具.. 方法都很简单,基本都是一样 ...
- SVG学习笔记(一)画一个哆啦A梦
用SVG画一个哆啦A梦 博客原文链接 概述 虽然之前学过SVG,但我在工作中很少用到,正好最近赋闲在家待业中,就重新学了下SVG的东西: 基础 入门教程: 链接:SVG 图像入门教程 总的来说,基本语 ...
- 使用go语言GUI库fyne绘制一个交通标志
绘制一个交通标志 首先实现一个函数makeSign(),该函数返回fyne.CanvasObject对象,对象中实现所有的图形 func makeSign() fyne.CanvasObject {b ...
- 用python画哆啦a梦的身体_用Python画一个哆啦A梦
Python自带的turtle海龟绘图库功能十分强大,使用起来也很简单方便,今天我们就使用海龟绘图画一个我们都很喜欢的卡通形象-哆啦A梦头像.我们将整个头像分为几个部分分别定义相关的绘制函数,下面分别 ...
- css html弄出哆啦a梦,用css画一个哆啦A梦
原图: 效果图: 虽然说没用啥什么高级的技巧,但这让我感受到了CSS的乐趣! 好好学习,天天向上! body{ background-color: #66B3FF; height: 300px; ov ...
- 用css3画一个哆啦A梦
今天偶然看到朋友用纯css3画了一个素描杯,很受启发,css3这么好玩的代码再不玩就要荒废了,于是决定画个哆啦A梦来复习一下css基础知识.用css作画最重要的就是要做好定位,其次是通过边框属性来切割 ...
- 用python画一个哆啦A梦
import turtle# 创建哆啦A梦 doraemon = turtle.Turtle() doraemon.speed(10)def draw_eye_white_circle(x):dora ...
- 【Python合集系列】也许每个人的童年里都有过这样一个梦:“书桌会被推开钻出来一个哆啦A梦”。(源码合集)
前言 "生活百般滋味,生活需要笑对" 如果说人生是一趟漫长的旅程,那么这一路上最珍贵的风景,就是那些陪伴你同行的人. 哆啦A梦,这个可爱的蓝胖子可能是许多人的童年回忆.小编今天再一 ...
- 用EasyX图形库画一个哆啦A梦
继续说图形库,加一点实战用图形画图(用来巩固代码): rectangle这个函数 四个参数,左上角坐标的x,y值,右下角坐标的x,y值:因为只要有两个点,就可以以它们的横坐标之差为长,纵坐标之差为宽画 ...
最新文章
- 其他算法-Dijkstra
- 这一行代码,很有温度!
- 电容二极管升压电路分析
- 2020-11-16(补码转换为无符号数)
- 科大星云诗社动态20211214
- 使用StringWriter和StringReader的好处
- 大剑无锋之如何查看一个java进程的堆内存使用情况(jps,jstack,jmap)【面试推荐】
- 一线互联网公司薪资情况,可供你参考!
- SpringBoot POM web开发(spring-boot-starter-web)
- 【优化覆盖】基于matlab模因算法求解集群无线传感器网络中节能覆盖控制优化问题【含Matlab源码 1563期】
- IOS 音乐播放器
- 配置管理之三类配置库
- SimpleFOC调参1-力矩控制
- 电话按键单词问题(C/C++)
- java:JDBC的使用与封装
- 智能扫地机器人陀螺仪导航
- 互联网晚报 | 11月1日 星期一 | 小米之家第10000家店开业;中国移动11月4日首发上会;中国平安总资产首破10万亿元...
- 爬虫初学——爬取京东商品的评论(一)
- 软件离散数学复习笔记资料
- KVM内存管理(三)—— KSM操作实践
热门文章
- 关于05.轮播图.html:177 Uncaught TypeError: Cannot set properties of null (setting ‘onclick’)
- C语言 利用高斯消元求解方程组
- 基于java设计的图书管理系统
- 忽然想到了,国内物价上涨是不是和贸易顺差太大有关
- Ubuntu根目录结构说明
- Python 进阶版硬核课程【王的机器出品】
- 支持8K播放且低延时高并发全功能的流媒体播放器如何降低直播延迟?
- 前端学习笔记-4.2php实现注册功能
- vue、uniapp实现锚点定位
- android studio JSON Viewer