c语言的图形库
图形库链接http://www.easyx.cn/ 使用图形库头文件easyx.h或graphics.h
同样在里面下载图形库帮助文档进行查询
vs vc都可使用图形库
图形库窗口:
initgraph打开窗口
closegraph关闭窗口
颜色
RGB值 RGB(,,):red green blue 下表值都可以在函数中直接使用填充颜色
上图为图形库的三种颜色
路径
绝对路径 从盘符开始到每个文件夹,通过盘符找到指定文件,只能在自己电脑中使用代码发给别人就不适用了
相对路径 exe
情况1:exe和素材同一个文件夹下面 直接写文件(当前文件夹)
情况2:“123/素材.jpg”(当前文件夹下面一个文件夹)
情况3:上级文件夹使用../多一级多一个点列:../123/素材.jpg
./当前文件夹(exe所在的文件夹)
./写和不写没区别一般不写
资源文件——>素材直接导入到文件当中
优点直接发程序不需要发素材
缺点程序很大
一般不会导入素材
画图:
circle画圆
fillcircle画填充圆(带边框)
solidcircle填充圆(不带边框)
后面加三个参数x轴y轴以及半径
setlinecolor设置边框颜色
setfillcolor设置填充颜色
输出文本
setbkmode(TRANSPARENT);//设置文字字体透明 图片上写文字(不写会遮挡文字)
settextcolor(RGB(173, 216, 230));//设置文本颜色
settextstyle(40, 0, L"微软雅黑");//设置文本大小和字体
outtextxy(0, 0, L"图形库");//在指定位置输出文本
outtextxy(20, 20, L"ABCD");//L表示多字节
图像处理
一般使用.jpg和.bmp
用代码实现在图形库中输出字体画出形状
#include<stdio.h>
#include<easyx.h>
//#include<graphics.h>
int main()
{
initgraph(, );//窗口单位像素
setlinecolor(RGB(, , ));
circle(,,);
setlinecolor(RED);//设置边框颜色
setfillcolor(LIGHTBLUE);//设置填充颜色
fillcircle(, , );//填充圆
solidcircle(, , );//没有边框的填充圆 setbkmode(TRANSPARENT);//设置文字字体透明 图片上写文字
settextcolor(RGB(, , ));//设置文本颜色
settextstyle(, , L"微软雅黑");//设置文本大小和字体
outtextxy(, , L"图形库");//在指定位置输出文本
outtextxy(, , L"ABCD");//L表示多字节
getchar();
IMAGE img;//准备变量存放图片
// C:\Users\18080\Pictures\帅钢.jpg 绝对路径 细化每个文件夹
// loadimage(&img, L"C:\\Users\\18080\\Pictures\\帅钢.jpg");//第二个参数是文件路径
// loadimage(&img, L"C:/Users/18080/Pictures/帅钢.jpg");//可以用做斜杠替代
loadimage(&img, L"123/帅钢.jpg");//相对路径
initgraph(img.getwidth(),img.getheight());//图形库的大小由图片的宽和高决定
//对于文件路径 可以用斜杠隔开/ \
//代码里 字符串中\\ 表示\
putimage(, , &img);
getchar();
closegraph();//关闭窗口
return ;
}
代码贴上去的图片
如何使用代码将图片直接放置到.exe文件中
#include<stdio.h>
#include<easyx.h>
int main()
{
IMAGE img;
loadimage(&img, L"JPG",MAKEINTRESOURCE());
initgraph(img.getwidth(),img.getheight());
putimage(,,&img);
getchar();
closegraph();
}
在资源文件下面添加资源:
选择第一个进行导入
在.rc文件下查看代码 找到ID下面找到JPG文件格式
在resource.h下面找到ID 101
最后补写代码loadimage(&img, L"JPG",MAKEINTRESOURCE(101));//
如上图直接在.exe文件中打开不需要外部文件
弊端就是.exe文件过大
c语言的图形库的更多相关文章
- [C语言]进阶|图形库
---------------------------------------------------------------------- // main.c // Created by weich ...
- C语言图形库简单对比及EGE库的安装小手册
近期在琢磨C语言的图形库,发现主要有如下几种选择: Turbo C 的graphics库 SDL EasyX EGE 1. 普遍认为Graphics库太老了,而且TurboC本身使用比较麻烦,网上一边 ...
- C++学习(三十九)(C语言部分)之 游戏项目(2048游戏)
/***************************项目 2048**********************c语言编写 图形库制作时间:2019.04.03 准备工具: vs2013 图形库 i ...
- C语言实现鼠标绘图
使用C语言+EGE图形库(Easy Graphics Engine).思路是通过不断绘制直线来实现鼠标绘图的功能,前一个时刻鼠标的坐标作为直线的起点,现在时刻的坐标作为终点(严格意义是线段而不是直线) ...
- QT树莓派交叉编译环开发环境搭建(附多个exe工具下载链接)
前两天入手了一块2.8’的tft液晶显示屏,于是和树莓派连了一发,成功将命令行显示在了这块小的可怜的屏幕上之后,觉得这屏幕就显示个黑白内容太浪费了,于是考虑开发一个”脸”(图形用户界面,GUI).首先 ...
- SDL相关学习
原文地址:https://www.cnblogs.com/landmark/category/311822.html 介绍SDL图形库的使用 SDL显示文字 摘要: 前面教程里,我们只显示图片,没提到 ...
- [原]零基础学习视频解码之安装ffmpeg
写在文章前面:ffmpeg是一个开源的编解码框架,拥有很强大的功能.但是对于如果使用其来做开发呈现着严重两极分化,大神们讨论着高深的问题,大多数像我这样的小白连门都进不去.最近无意间领会了如何入门,现 ...
- (Linux基础学习)第三章:terminal与shell的简介和修改命令提示符颜色
第1节:terminal终端设备终端:键盘.鼠标.显示器物理终端(/dev/console):控制台console虚拟终端(tty:teletypewriters,/dev/tty# #为[1-6]) ...
- 开源图形库 c语言-图形图像库 集合[转]
开源图形库 c语言-图形图像库 集合[转] Google三维API O3D O3D 是一个开源的 Web API 用来在浏览器上创建界面丰富的交互式的 3D 应用程序.这是一种基于网页的可控3D标准. ...
随机推荐
- CF543B Destroying Roads 题解
看到没有题解就贡献一波呗 分析: 这题其实就是想让我们求一个图中两条最短路的最短(好把更多的边删掉). 我们先考虑一条最短路,别问我我怎么会的显然,就是s和t跑个最短路再用n-就行. 然后就是两条喽! ...
- .Net微信网页开发之使用微信JS-SDK自定义微信分享内容
第一步.微信JS-SDK的使用步骤,配置信息的生成获取讲解: 关于JS-SDK的使用步骤和timestamp(时间戳),nonceStr(随机串),signature(签名),access_token ...
- .NET开发框架(八)-服务器集群之网络负载平衡演示(视频)
(有声视频-服务器集群之负载平衡-NLB演示) 观看NLB视频的童鞋,都会继续观看IIS的负载平衡教程,点击>> 本文以[图文+视频],讲解Windows服务器集群的网络负载平衡NLB的作 ...
- Set接口的使用
Set集合里多个对象之间没有明显的顺序.具体详细方法请参考API文档(可见身边随时带上API文档有多重要),基本与Collection方法相同.只是行为不同(Set不允许包含重复元素). Set集合不 ...
- 0 ElasticSearch
注意事项 需要jdk环境1.7以上 Elasticsearch Kibana 的下载地址统一为https://www.elastic.co/downloads/ 问题排查可以登录https://dis ...
- .net core 实现基于 cron 表达式的任务调度
.net core 实现基于 cron 表达式的任务调度 Intro 上次我们实现了一个简单的基于 Timer 的定时任务,详细信息可以看这篇文章. 但是使用过程中慢慢发现这种方式可能并不太合适,有些 ...
- str_replace导致的注入问题汇总
研究了下replace的注入安全问题. 一般sql注入的过滤方式就是引用addslashes函数进行过滤. 他会把注入的单引号转换成\',把双引号转换成\",反斜杠会转换成\\等 写一段ph ...
- 对API进行版本控制的重要性和实现方式
我在API设计中收到的最常见问题之一就是如何对API进行版本控制.虽然并非所有API都完全相同,但我发现在API版本控制方面,某些模式和实践适用于大多数团队.我已经将这些内容收集起来,下面将提供一些关 ...
- idea使用大全(加载mysql驱动)
1.载入mysql驱动 找到项目结构(project structure) 选Modules 找到右边的加号选择第一个 OK
- 佳木斯集训Day2
D2好点了,最起码不像之前那么水 T1按照常规操作是个找规律,类似于括号匹配的题,但是又不是,推进栈里,然后看最长的左括号有多少个,然后直接cout就可以了 #include <bits/std ...