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标准. ...
随机推荐
- 从0系统学Android--1.2 手把手带你搭建开发环境
要想进行程序开发,首先我们需要搭建开发环境,下面就开始搭建环境. 1.2.1 所需的工具 首先 Android 开发是基于 Java 的,因此你需要掌握简单的 Java 语法.会基础的 Java 语法 ...
- 解决FileExplorer窗口变小问题
3.解决FileExplorer窗口变小问题 须在$HOME/.vimrc中添加: "解决FileExplorer窗口变小问题 let g:bufExplorerMaxHeight=30 l ...
- 个人永久性免费-Excel催化剂功能第72波-序列规则下的数据验证有效性好帮手:快速录入窗体辅助录入
Excel作为最好用的数据录入工具,没有之一,如果能够充分利用好Excel的灵活性和规范性,将带来极大的生产力提升,前面的几波功能也有做了几大数据录入的辅助功能,今天再次给大家带来一个特定的使用场景, ...
- 基于surging 的stage组件设计,谈谈我眼中的微服务。
一.前言 随着业务的发展,并发量的增多,业务的复杂度越来越大,对于系统架构能力要求越来越高,这时候微服务的设计思想应运而生,但是对于微服务需要引擎进行驱动,这时候基于.NET CORE 的微服务引擎s ...
- Kotlin之var和val区别
var 和 val 是Kotlin的两个声明变量的关键字, var声明的变量是一个可变的变量,而val声明的变量是一个只读的变量(类似于java中的final变量)
- Android入门简介
GeoQuiz应用是由一个activity和一个布局(layout)组成. activity是Android SDK中Activity类的一个具体实例,负责管理用户与信息屏的交互. 布局定义了一系列用 ...
- Java中注释的使用
Java 中注释有三种类型:单行注释.多行注释.文档注释 我们可以通过 javadoc 命令从文档注释(/**aa*/)中提取内容,生成程序的 API 帮助文档. 打开首页,查看下生成的 API 文档 ...
- 金蝶K3 V12.2版本,对已发生业务单据的物料启用辅助计量单位
/****************************************************************************** 联达双计量单位 yLD_K3Data_S ...
- 深入理解Java中的AQS
AQS概述 AbstractQueuedSynchronizer抽象队列同步器简称AQS,它是实现同步器的基础组件,juc下面Lock的实现以及一些并发工具类就是通过AQS来实现的,这里我们通过A ...
- sentos中bonding(网卡绑定技术)1
一.GRUB添加kernel参数 1.# vim /etc/sysconfig/grubGRUB_CMDLINE_LINUX="...... net.ifnames=0" ...