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

article/2025/2/28 15:28:18

在C语言的学习过程中,接触最多的就是黑乎乎的DOS窗口,这也是在消磨学习者的兴趣,学到最后可能还不知道C语言到底能做什么,难道就是输入输出数据吗?当然不是,C的用处很广泛,这里不做讨论。我们能不能用C语言做些好玩的东西,当然可以,我们可以做游戏,可以做动画,还有很多能装逼的东西,在外行眼里看来,你的逼格高的就不是一点点了。做游戏、做动画一定要用到图片、音频等,怎么用C语言显示出来呢?这里我们就要用到EasyX库了,在文章末尾有百度网盘链接,下载后双击安装即可,但有编译器限制,VC、VS都可以安装,Dev C++目前不能安装EasyX库。文章的末尾给出了几个小项目。

当我们安装好EasyX库后,该怎么用呢?我们首先来显示一张图片,首先我们要创立一个图形窗口(要建立.cpp文件才可以用EasyX,因为EasyX库是属于C++范畴的,但在编程风格上用的是C语言)。

1、添加头文件:

 #include <graphics.h> 

2、定义图像变量:

 IMAGE image1;

IMAGE,通俗的说可视为图,型,和int,char一样,IMAGE image1就是说定义一个图片型变量image1。

3、创立图形窗口:

initgraph(800, 600); 

这个函数就是说建立一个宽为800像素,高为600像素的图形窗口。

4、加载图片:

loadimage(&image1, L"bird.png", 200, 100); 

选择一张图片,我这里的图片名为bird.jpg,将它放在和你源文件同一目录下。这个函数的意思就是说将这张名为bird.png的图片与image1绑定在一块,用image1代表bird.png,并将其宽和高拉伸为200和100像素点。

5、显示图片:

putimage(200,300,&image1);

这个函数的意思就是说将image1显示在所创立的图形窗口的(200,300)处,这是一个坐标
在这里插入图片描述

最终的程序是这样的:
在这里插入图片描述
在有的时候,我们想要把一张图片的某一部分显示在另一张图片上,例如,把图1中的马显示在以图2为背景的图中。
在这里插入图片描述
图1
在这里插入图片描述
图2
这个时候我们不能直接贴,否则无法去除图1中的背景,如图3结果。这很显然不是我们想要的。
在这里插入图片描述
图3
而我们真正想要的是这样的,如图4。
在这里插入图片描述
图4

这个时候我们需要用到图片编辑软件,只要能抠图就行,PS是最佳选择,此处就以PS为例(文章末尾有PS百度网盘连接,安装过程十分简单,不做赘述),选择图1用PS打开,W键用于抠图,把这个圆形光标调小一些,仔细把马选中,Ctrl+c复制,然后选择文件->新建一个黑底剪切板,Ctrl+v粘贴,便可得到图5,把它导出来,继续选择文件->新建一个白底剪切板,Ctrl+v粘贴,在用W键把这个马选择出来,鼠标右键填充,选择黑色,此时在右键选择取消选择便可得到图6,再把它导出来。

在这里插入图片描述
图5
在这里插入图片描述
图6

将图2、图5、图6放在项目中,分别命名为bk.jpg、1.png、2.png。
代码如下:

#include<stdio.h>
#include<graphics.h>
#include<stdlib.h>int main()
{IMAGE bk, image1, image2;initgraph(1000, 600);loadimage(&bk,"bk.jpg",1000,600);loadimage(&image1, "1.png");loadimage(&image2, "2.png");putimage(0, 0, &bk);//先贴黑白图,即2.pngputimage(50, 100, //显示的位置286, 167,//图片的大小,也可自行设置大小&image2, //选择需要贴的图0, 0,	//从该图片的起始位置开始显示SRCAND	//绘制出的像素颜色 = 屏幕颜色 & 图像颜色);//再贴彩黑图,即1.pngputimage(50, 100, 286, 167,&image1, 0, 0,	//与上相同SRCPAINT							//绘制出的像素颜色 = 屏幕颜色 | 图像颜色);system("pause");return 0;
}

为什么这样可以把马显示在图2中呢?
我们知道,三原色可以构成任何一种颜色,其中黑色的三原色构成为(0,0,0),白色为(255,255,255),其余的颜色在0—255之间。
在8位数与运算中,任何数与255 相与都等于该数,与0 相与都等于0 。比如我们拿100和255相与,255的二进制表示就是11111111,100的二进制是01100100,二者相与自然就是01100100,也就是100,后面的或运算也同理。我们先拿黑白图(图6)按的形式贴在背景图(图2)上,因为白色的三原色数值是最大的,非白色白色等于非白色,又因为黑色的三原色数值最小,所以非黑色黑色等于黑色。示意图如下:
在这里插入图片描述
接着按或贴彩黑图(图5),一样的道理,在8位数或运算中,任何一个数与0 相或 都等于该数,非黑色黑色等于非黑色。示意图如下:
在这里插入图片描述

EasyX链接:
链接:https://pan.baidu.com/s/1CTWMbqaATgx663M01vRA5A
提取码:2chn

PS软件链接
链接:https://pan.baidu.com/s/1PfaBDBnq07CnDzvwWIBZ2g
提取码:m3sd

小项目
自定义一个屏保程序

制作一个简易钟表

EasyX常用函数请点此处查看


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

相关文章

#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;首选应该先确定你是设计的一款标准化商业垂直型…

linux环境oracle冷备份,Oracle 热备份和冷备份的区别

一、 热备份 冷备份发生在数据库已经正常关闭的情况下&#xff0c;当正常关闭时会提供给我们一个完整的数据库。冷备份时将关键性文件拷贝到另外的位置的一种说法。对于备份Oracle信息而言&#xff0c;冷备份时最快和最安全的方法。冷备份的优点是&#xff1a; 1、 是非常快速的…

SQL Server数据库冷备份迁移

背景&#xff1a;现在要求把本地服务器的sql server数据库到另外一台服务器上时&#xff0c;一时摸不到头脑&#xff0c;但最后还是用备份还原的方式来完成了数据库的迁移。 注意事项 迁移之前需保证目的实例 SQL Server 版本不低于源实例版本。迁移库不能与云数据库 SQL Ser…

oracle数据库集群 冷备份_oracle数据库怎么进行冷备份 ?冷备份的主要步骤

类型&#xff1a;数据库类大小&#xff1a;42.1M语言&#xff1a;中文 评分&#xff1a;4.2 标签&#xff1a; 立即下载 冷备份是将关键性文件拷贝到另外位置的一种做法。对于备份Oracle信息而言&#xff0c;冷备份是最快和最安全的方法。值得注意的是冷备份必须是数据库关闭的…