图形库链接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语言的图形库的更多相关文章

  1. [C语言]进阶|图形库

    ---------------------------------------------------------------------- // main.c // Created by weich ...

  2. C语言图形库简单对比及EGE库的安装小手册

    近期在琢磨C语言的图形库,发现主要有如下几种选择: Turbo C 的graphics库 SDL EasyX EGE 1. 普遍认为Graphics库太老了,而且TurboC本身使用比较麻烦,网上一边 ...

  3. C++学习(三十九)(C语言部分)之 游戏项目(2048游戏)

    /***************************项目 2048**********************c语言编写 图形库制作时间:2019.04.03 准备工具: vs2013 图形库 i ...

  4. C语言实现鼠标绘图

    使用C语言+EGE图形库(Easy Graphics Engine).思路是通过不断绘制直线来实现鼠标绘图的功能,前一个时刻鼠标的坐标作为直线的起点,现在时刻的坐标作为终点(严格意义是线段而不是直线) ...

  5. QT树莓派交叉编译环开发环境搭建(附多个exe工具下载链接)

    前两天入手了一块2.8’的tft液晶显示屏,于是和树莓派连了一发,成功将命令行显示在了这块小的可怜的屏幕上之后,觉得这屏幕就显示个黑白内容太浪费了,于是考虑开发一个”脸”(图形用户界面,GUI).首先 ...

  6. SDL相关学习

    原文地址:https://www.cnblogs.com/landmark/category/311822.html 介绍SDL图形库的使用 SDL显示文字 摘要: 前面教程里,我们只显示图片,没提到 ...

  7. [原]零基础学习视频解码之安装ffmpeg

    写在文章前面:ffmpeg是一个开源的编解码框架,拥有很强大的功能.但是对于如果使用其来做开发呈现着严重两极分化,大神们讨论着高深的问题,大多数像我这样的小白连门都进不去.最近无意间领会了如何入门,现 ...

  8. (Linux基础学习)第三章:terminal与shell的简介和修改命令提示符颜色

    第1节:terminal终端设备终端:键盘.鼠标.显示器物理终端(/dev/console):控制台console虚拟终端(tty:teletypewriters,/dev/tty# #为[1-6]) ...

  9. 开源图形库 c语言-图形图像库 集合[转]

    开源图形库 c语言-图形图像库 集合[转] Google三维API O3D O3D 是一个开源的 Web API 用来在浏览器上创建界面丰富的交互式的 3D 应用程序.这是一种基于网页的可控3D标准. ...

随机推荐

  1. git学习 c的某位老哥的,(侵删)

    Git命令行基本操作 安装Git 网上有很多Git安装教程,如果需要图形界面,windows下建议使用TortoiseGit,linux建议使用Git GUI或者GITK. Git基本配置 git c ...

  2. 推荐:经典SQL语句大全

    一.基础 .说明:备份sql server--- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:/mss ...

  3. windows无法执行 git reset head^版本回退操作的正确打开方式

    ^是cmd.exe的escape字符,属于特殊字符,命令里要用到文字 ^ 时必须用双引号把它夹起来,因此只要如下就可以正确执行: git reset head"^"或者git re ...

  4. Bellman-Ford 算法

    根据之前最短路径算法里提到的,我们只要放松所有边直到其全部失效就可以得到最短路径 注意:图中不能有负圈.否则当负圈中某个点经过这个负圈的所有边的松弛操作后,这个点的的d[i]就会减小,此时会发现它可以 ...

  5. 使用ASM实现动态代理

    如果对我这段代码感兴趣,直接拷贝测试debug,要不然你不知道我写的是什么鬼,如果有什么问题,可以告诉我. 一.实现动态代理,首先得考虑有应该定义哪些类,根据JDK的动态代理思想,那么它就应该有一个生 ...

  6. mysql中的SQL语句执行的顺序

    1. from2. on3. join4. where5. group by6. with7. having8. select9. distinct10. order by11. limit 例: s ...

  7. 通过mark和reset方法重复利用InputStream

    InputStreammarkreset 在这篇博客中我们已经简单的知道可以通过缓存InputStream来重复利用一个InputStream,但是这种方式的缺点也是明显的,就是要缓存一整个Input ...

  8. Iterator-Java

    在Java中,Iterator的作用就是为了方便处理集合中的元素.例如获取和删除集合中的元素. 在JDK8,Iterator接口提供了如下方法: 迭代器Iterator最基本的两个方法是next()和 ...

  9. java的properties文件从数据库添加到文件

    package com.xian.jdbc; import java.io.BufferedInputStream; import java.io.FileInputStream; import ja ...

  10. JavaSE之——并没有多维数组

     近日在读<疯狂Java讲义>精粹第二版,部分语述摘自其中,自己边敲边理解 前言       我们知道,Java语言支持的类型有两种:            1.基本类型(即八大基本数据类 ...