C语言画图形(图形库graphics的使用)

article/2025/1/10 15:17:21
  • 目录
    工具
    c语言基本绘图
    文字输出
    c语言基本贴图
    获取鼠标、键盘信息

工具

(1)环境:VC++
(2)库函数:graphics.h(因为不是标准库函数,所以需下载EASYX)
(3)编译软件:VS、VC++6.0

c语言基本绘图

本节目录:窗口的创建及背景颜色、基本绘图函数(点、线、圆、矩形以及设置其属性)

#include <stdio.h>
#include <graphics.h>//图形库
#include <time.h>//时间库函数
int main(){//注意窗口的横纵坐标原点是左上角1)窗口的创建及背景颜色①窗口的创建initgraph(int width,int hight);//创建窗口closegraph();//关闭窗口②设置背景颜色setbkcolor(RED);cleardevice();//参数可以为颜色的英文,记住需要刷新窗口才能显示设置后的颜色setbkcolor(RGB(int x,int y,int z));cleardevice();//或者可以调制三原色,记住需要刷新窗口才能显示设置后的颜色2)基本绘图函数①绘点putpixel(int x,int y,color color);//参数为横纵坐标和颜色//如何随机生成点呢#include <time.h>srand((unsigned int)time(NULL));//设置随机点的种子int x = rand()%n;//rand()是生成随机数,然后对n取余,则得到的所有的x值都小于等于nint y = rand()%n;putpixel(x,y,color);②绘线line(int x1,int y1,int x2,int y2);//两点确定一条直线//如何设置线的属性呢(注意必须写在画线函数的前面)setlinecolor(color color);//参数可以是颜色,也可以是三原色setlinestyle(linestyle linestyle,int width);//参数linestyle可以点进去库函数查看,可以设置虚线、直线....,width是线的宽度③矩形rectangle(int x1,int y1,int x2,int y2);//两点确定一个矩形④圆circle(int x,int y,int r);//圆心的横纵坐标和圆的半径⑤填充(实心填充(不渲染边的颜色)、全部填充)//圆的填充setfillcolor(color color);//先设置填充颜色//全部填充fillcircle(int x,int y,int r);//参数横纵坐标和半径//实心填充solidcircle(int x,int y,int r);//矩形的填充}

文字输出

#include <stdio.h>
#include <graphics.h>//图形库
int main(){文字输出:(1)输出文字函数outtextxy(int x,int y,"jiajia");注意:多字节报错修改方式:①outtextxy(int x,int y,L"jiajia");outtextxy(int x,int y,_T("jiajia"));outtextxy(int x,int y,"jiajia");//修改项目属性,将“字符集”修改为使用多字节字符集(2)文字格式setcolor(BLACK);//文字颜色settextstyle(int width,int hight,"文字字体(例如黑体)");//文字的宽和高,以及文字的字体,字体路径:C:\Windows\Fonts\setbkmode(TRANSPARENT);//文字背景透明(3)输出数字(注意,输出数字的方法是将数字转换为字符串去输出)char str[1000];//首先定义一个字符数组int x = 20;//需要输出的数字sprintf(str,"输出数字x = %d",x);//将引号里的字符串转化为字符串并输出
}

c语言基本贴图

本节目录:基本绘图、图片大小问题、图片路径问题、批量加载图片
贴图putimage(int x,int y,&m);是把图片的左上角放到(x,y)

#include <stdio.h>
#include <graphics>
int main(){(1)基本绘图注意:图片变量获取图片地址时一定在变量前面加上取地址符IMAGE m;//定义图片变量loadimage(&m,"m.jpg(或者m.png)"int width,int hight);//将图片的地址赋给m(注意:width和hight为图片的宽和高)putimage(int x,int y,&m);//参数为图片要放在窗口的坐标和m(即图片的地址)(2)图片大小问题解决方法有以下两种①缩放图片的大小(即长宽)去适应窗口②通过图片变量区域获取图片的大小IMAGE m;int width = m.getwidth;int hight = m.gethight;③直接去查看图片的属性(3)图片路径问题(相对路径、绝对路径)①相对路径loadimage(&m,"m.jpg(或者m.png)");//此时的图片就在当前项目的文件下,可以直接这样引用②绝对路径(即图片的当前位置)loadimage(&m,"C:/Users/Administration/Desktop/m.jpg(或者m.png)");//C:\Users\Administrator\Desktop(电脑中的地址),由于转义字符问题的存在,在这里我们的绝对地址使用反斜杠'/'或者双斜杠'\\'(4)批量加载图片IMAGE image[100];for(int i = 1 ;i < n ;i++){//n为需要加载出来的图片数量char imageName[100] = "";sprintf(imageName,"%d.jpg");//图片名字需要手动更改为1、 2、 3 、4...nloadimage(&image[i - 1],imageName[i - 1]);putimage(x,y,&image[i]);(5)透明贴图步骤:①准备背景图和掩码图//注意制作背景图和掩码图时白色部分一定要纯白,黑色部分一定要纯黑②SRCAND方式去贴掩码图③SRCPAIND方式去贴背景图示例:loadimage(&background,"background.jpg(或者m.png)");loadimage(&mask,"mask.jpg(或者m.png)");putimage(x,y,&mask,SRCAND);//SRCAND方式去贴掩码图putimage(x,y,&background,SRCPAIND);//SRCPAIND方式去贴背景图}


左边为背景图(黑色必须纯黑),右边为掩码图

获取鼠标、键盘信息

本节目录:

int main(){(1)鼠标操作步骤:MouseMsg mouse;//声明一个鼠标消息变量(mousemessage)mouse = GetMouseMsg();//获取鼠标消息switch(mouse){case WM_MOUSEMOV:outtextxy(x,y,_T(""));//其他的动作可以鼠标右击查看break;}
}

http://chatgpt.dhexx.cn/article/Alg5QTeS.shtml

相关文章

codeblock c语言图形库,C语言入门项目——扫雷游戏(ege图形库+codeblocks)

扫雷游戏适合C练手,会C基本语法就可以尝试。需要导入ege图形库(文章后半部分写了ege如何导入codeblocks,以及我用到的ege函数) 一、先介绍如何将ege图形库导入codeblocks: 1、下载codeblocks 2、下载ege图形库的文件包 官方网址:ege图形库主站 (1)打开下载好的压缩包,找到…

【精选】适合初学者小游戏井字棋(三子棋)(C语言),Easyx图形库应用+源代码分享

【精选】井字棋&#xff08;三子棋&#xff0c;C语言&#xff09; 目录 【精选】井字棋&#xff08;三子棋&#xff0c;C语言&#xff09;游戏展示一、项目环境简单介绍一下easyx图形库Easyx图形库 二、游戏规则介绍三、运行效果展示四、项目介绍五、项目源代码分享总结与思考B…

C语言图形库——EasyX基本贴图

在C语言的学习过程中&#xff0c;接触最多的就是黑乎乎的DOS窗口&#xff0c;这也是在消磨学习者的兴趣&#xff0c;学到最后可能还不知道C语言到底能做什么&#xff0c;难道就是输入输出数据吗&#xff1f;当然不是&#xff0c;C的用处很广泛&#xff0c;这里不做讨论。我们能…

#C语言或C++中强大的图形库——easyx

1.了解easyx图形库 EasyX Graphics Library 是针对 Visual C 的免费绘图库&#xff0c;支持 VC6.0 ~ VC2022&#xff08;以及VS2013~VS2022)&#xff0c;简单易用&#xff0c;学习成本极低&#xff0c;应用领域广泛。目前已有许多大学将 EasyX 应用在教学当中。 使用范围&…

产品 • B端和C端产品经理有什么区别?

一些概念 to-C产品分类&#xff1a; 直接触达型&#xff1a;类似一级市场——微信、微博等平台&#xff1b;间接触达型&#xff1a;二级市场——广告、公众号等 &#xff1b; 总的市场规模&#xff1a; 用户规模可用时间 —— 御豪同学 • 京东金融 • 数据产品经理 每位用户每…

B端产品思维全解析,提升产品经理核心竞争力

产品思维和用户思维组成了产品经理两大核心思维方法论。对两者的理解也代表了产品经理的产品理解方向。 很多人把产品思维和用户思维混在一起说&#xff0c;我觉得是不合适的&#xff0c;因为两个是互相搭配的关系&#xff0c;你也可以把产品思维理解成智商&#xff0c;用户思维…

全方位解析 C 端和 B 端的产品特性

近年来&#xff0c;互联网进入下半场&#xff0c;C 端流量红利逐渐消退&#xff0c;很多企业转向了 B 端服务&#xff0c;随之而来的是产品设计者的转型&#xff0c;现在越来越多的 C 端产品设计师开始涉足到 B 端产品的设计&#xff0c;这是一个知识迁移的过程&#xff0c;需要…

B端产品经理,应从哪些方面理解业务?

新人入职新公司后&#xff0c;第一个工作就是了解公司业务&#xff0c;一般都是看公司项目PPT、产品需求文档&#xff0c;根据现有系统功能梳理功能结构图、产品流程等方式&#xff0c;但并不能系统化地帮助我们了解公司业务&#xff0c;容易流于表面。 由于TO B业务往往具有鲜…

B端和C端产品区别

一、定义 B端的B是单词Business的缩写&#xff0c;即企业用户。 C端的C是单词Consumer的缩写&#xff0c;即个人用户。 二、区别 B端产品&#xff08;如**管理系统&#xff09;&#xff1a; B端产品注重操作的实用性&#xff0c;注重功能的实现效率&#xff0c;是为了工作而…

新入行的产品做C端还是B端?

作为一名产品经理&#xff0c;你是否曾思考过&#xff1a;新入行的产品&#xff0c;做C端还是B端发展前景更好&#xff1f; C端产品需要对用户需求有深刻的了解。你需要研究市场趋势、用户行为、竞争对手&#xff0c;然后设计出符合用户期望的产品。同时&#xff0c;你需要面对…

【产品经理】B端产品经理需知道几个市场概念

美国市场营销协会称&#xff1a;“市场是指一种货物或劳务的潜在购买者的集合需求。”简单的说市场是买卖双方交易的领域&#xff0c;有买方、有卖方、有商品或服务、有需求。我们可以简单的了解市场竞争程度、需求和供给模型和边际成本模型。 01市场竞争程度 《西方经济学》里…

为什么说用C端产品的思维做B端产品就是死路一条?

经常听行业大佬说起&#xff1a;如果用C端产品的思维做B端产品就是死路一条&#xff0c;那原因究竟是什么呢&#xff1f; 首先&#xff0c;需要明确的是C端产品和B端产品的用户群体和需求存在很大差异。C端产品的用户主要是消费者&#xff0c;更多的是被情感驱动。而B端产品的…

B端产品:通过线上渠道增长

老于笔记11.29 征服畏惧建立自信的最快最确实的方法&#xff0c;就是去做你害怕的事&#xff0c;直到你获得成功的经验。 前言 疫情让我们越来越重视线上流量。作为B端产品的市场运营&#xff0c;每天我有多少流量&#xff0c;从哪些地方来、转化情况如何&#xff0c;以及数据驱…

B端与C端产品区别

目录 一、B端与C端产品特点二、B端与C端产品区别三、B端和C端业务调研的区别四、B端和C端产品运营的区别五、产品的客户与用户六、两类用户的行为动机差异&#xff0c;决定了产品经理关注侧重点的差异七、决策优先级的差异 霸占大众视线的产品普遍都是C&#xff08;Customer&am…

C端产品和B端产品的区别

什么是B端产品&#xff1f; 典型的B端产品有CRM、ERP、OA、中台等。 什么是C端产品&#xff1f; C端则是微信、抖音、京东淘宝等。 B端产品和C端产品的区别&#xff1f; 一、面向用户不同 B端客户是企业级用户&#xff0c;用户群是稳定的、统一的。 B端产品面向的客户是企业…

企业中B端常用的十大产品分类详情

一、 引言 所谓B端产品&#xff0c;就是面向企业用户的互联网产品&#xff0c;是Bussiness的缩写。随着信息化时代的进步&#xff0c;人工的统计管理已经不能满足企业的管理需求&#xff0c;企业发展也越来越依赖于信息系统。 随着信息化时代的发展&#xff0c;涌现出越来越多的…

B端产品

文章目录 一、B端产品基础概念1、什么是B端产品2、B端产品分类方式3、核心工作内容4、需要掌握的能力 二、互联网底层知识1、产品方向2、互联网盈利模式3、B端产品细分 B端产品总体建设流程B和C总体建设流程的区别案例&#xff1a;M电商公司渠道分销产品设计制定工作计划业务调…

B端产品运营:获客渠道和方法

好的运营离不开精细化运营和打磨产品。 今天是2022年2月22日 星期二,互联网科技股全线飘绿。B端产品获客费用高,转化率低;初创公司成本打不平,下不来。B端产品运营难以接触真正使用者,难以洞察真正的需求。 一、B端与C端的获客差异 C端产品通过朋友圈等广告投放拉新、应…

B端产品如何进行业务全场景的需求梳理?

文章转载链接&#xff1a;http://www.51testing.com/html/12/n-7793012.html C端重体验B端重逻辑基本已经成为大部分产品世界的共识了&#xff0c;因此需求梳理成为了B端产品经理重要的工作场景。而如何进程需求梳理&#xff0c;首选应该先确定你是设计的一款标准化商业垂直型…