关于Easyx如何显示透明无背景贴图

您所在的位置:网站首页 设置背景为透明怎么设置出来 关于Easyx如何显示透明无背景贴图

关于Easyx如何显示透明无背景贴图

2024-07-15 14:29:19| 来源: 网络整理| 查看: 265

最近用Easyx写东西玩的时候发现一个问题就是图片只能显示一整张包括背景的,比如我想写一个小人移动,也就是这个小人的图片移动,但是这个图片可能会有背景,整体观感就会很差。查询了一些资料和一点ps基础,终于解决了这个问题。

正常情况下我们显示图片,会显示整张图片,包括背景:

(这里我将控制台背景设置为红,与黑白色区分)

接下来就是显示的时候消除这个白边, 只留下人物。

 这块原理涉及位运算,引用一个博主的说法:

首先,众所周知,在计算机中任何信息都是以二进制的方式存储的,那么也就是说每一段视频,每一张张图片的背后是无数的0和1,这里具体来谈一谈图片背后的0和1

在进入正题之前要先介绍一下RGB三原色,为后面更好的理解

每一个像素点的RGB用一个int整形变量来表示,我们知道,每一个整形变量所占的字节数为4(三十二位,但是前八个位不存数据,用作占位符),所有平均下来RGB每一个原色都占八位,所以取值范围都是是0~255,也就是说用RGB(255,0,0)表示红色,因为在R(red)对应的位置(第一个位置)上是255,而G(green)和B(blue)对应的位置上(第二个和第三个)都是0,所以是红色,同理RGB(0,255,0),RGB(0,0,255)分别表示绿色和蓝色,RGB(255,255,255)表示白色,RGB(0,0,0)表示黑色,如果理解了白色和黑色这两个颜色,下面会更简单 每张图片背后对应的RGB

由于图片也是以数字的方式(0和1),存储在计算机中的,那么就说明 我们就可以图片做一些数字可以做的事,比如位运算 是的,我们就是对图片做位运算,下面的三句话可能有点无聊加枯燥,但是也是核心之处,请静下心来仔细琢磨, 任何数和0做或运算(|)还是它本身 任何数和0做与运算(&)都是0 任何数和1做或运算(|)都是它本身 ———————————————— 版权声明:本文为CSDN博主「夜深人静推公式」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_45848751/article/details/106983700

简要概括一下就是我们需要 黑底彩图 和 白底黑图(遮罩图)。

并且在显示的时候进行位运算就能得到透明贴图(其实是透明部分显示底图的颜色)

通过简单的ps操作就可以得到这两张图:

1.黑底彩图:

①先选出我们要的人物或关键图像(这里色差较大我直接用魔棒了)

②填充非关键部分也就是背景为黑

 

 保存该素材

2.白底黑图(遮罩图)

①返回原图,并和之前一样操作选出不需要的背景部分,点击选择反向得到人物(或者直接得到背景更好了)

② 填充人物为黑

③再次选择反向,选中背景区域,填充为白

 

 这样两张素材就整理好了

 接下来只要在显示图片的代码上同时显示两张底图,并加上位运算即可:

宏: “ SRCAND ” 做与运算

 宏: “SRCPAINT” 做或运算

#include #include #undef UNICODE #undef _UNICODE using namespace std; int main() { IMAGE yuan, zhezhao,bk,test; //图片地址自己去对应图片下找 loadimage(&yuan,_T("图片地址"),200,200,1); loadimage(&zhezhao,_T("图片地址"), 200, 200, 1); loadimage(&bk, _T("图片地址"), 800, 800, 1); loadimage(&test, _T("图片地址"), 200, 200, 1); initgraph(800, 800); setbkcolor(RED);//设置背景色为红色 cleardevice(); //调用清屏cleardevice用背景色刷新背景 //putimage(0, 0, &bk); putimage(100, 100 ,&zhezhao, SRCAND);//添加位运算宏 putimage(100, 100, &yuan, SRCPAINT); system("pause"); }

效果图:

(左为处理完成的,右为原图) 

即使在背景很复杂的底图下也能清晰显示人物 



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭