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标准. ...
随机推荐
- Learning the Depths of Moving People by Watching Frozen
基于双目的传统算法 对静止的物体, 在不同的 viewpoints 同一时刻进行拍摄, 根据拍摄到的结果, 使用三角测量算法计算出平面 2D 图像在 3D 图像中的坐标 单目 Ground Truth ...
- 个人永久性免费-Excel催化剂功能第57波-一键生成完全组合的笛卡尔积结果表
在数据库的多表查询中,通常会有各种连接关系,同样地在Excel环境中,也有很大的场景需要用到类似数据库的多表查询,如经典的VLOOKUP就是其中一种类似LEFT JOIN查询的查询效果.在很多时候需要 ...
- Node.js socket 双向通信
使用场景: 聊天室:大量数据常驻交互: 技术栈: Node.js, Vue.js || 原生JS 服务端代码: const app = require('http').createServe ...
- 一文了解JVM
一.什么是JVM JVM是Java Virtual Machine(Java 虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实 ...
- 第一次使用cnblog,希望大佬们多多指教
我目前在学习ML和DeepLearning,在这里和大家共同成长
- MySql 命令(命令行)
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码1.连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...
- C#编程.函数.委托
注:委托最重要的用途最讲到事件和事件处理时才能说清,这里先简单介绍一下关于委托的一些内容 委托是一种可以把引用存储为函数的类型.这听起来相当棘手,但其机制是非常简单的. 1)委托的声明非常类似与函数, ...
- ThreadPoolExecutor带来的性能问题
使用线程池,一般情况下会带来性能提升,并且使用线程池管理线程,减少了每个任务调用的开销,通常可以在执行大量异步任务时提供增强的性能. 但是在高并发的情况下,会因为使用不当导致性能下降,并且下降得比较严 ...
- Android利用Handler异步获取子线程中的产生的值
本文首发于cartoon的博客 转载请注明出处:https://cartoonyu.github.io/cartoon-blog 近段时间有一个需求:在线获取图片并且显示在界面 ...
- GitHub 用户排行榜
排行榜预览网址:Github | Githack | UNPKG | Gitee Github 中国用户排名,全球仓库 Star 最多排名,通过 Github API v3 来生成页面数据,排行榜预览 ...