颜色编码和解码方法、终端及计算机可读存储介质技术

技术编号:32538072 阅读:15 留言:0更新日期:2022-03-05 11:34
本申请涉及一种颜色编码和解码方法、终端、计算机可读存储介质,本申请涉及颜色显示的技术领域,其编码方法包括:响应于用户的颜色选择操作,获取对应的颜色值,并提取所述颜色值中的多个颜色元素值,所述多个颜色元素值包括红色值R、绿色值G和蓝色值B;将所述多个颜色元素值整合转换为第一颜色码X;输出所述第一颜色码X。解决了调用颜色值的代码量较大,会占用大量的计算机内存,影响计算机的运行速率的问题,本申请具有减小输入颜色值的代码量的效果。效果。效果。

【技术实现步骤摘要】
颜色编码和解码方法、终端及计算机可读存储介质


[0001]本申请涉及颜色显示的
,尤其是涉及一种颜色编码和解码方法、终端及计算机可读存储介质。

技术介绍

[0002]计算机显示器上呈现的颜色是由A透明度、R红、G绿、B蓝组合而成的,计算机显示器上的颜色早期划分为256种颜色。所谓256色,是用1个字节(byte),即8个字位(bit)来控制显示器的色彩;其中,2个字位控制红的量、2个字位控制绿的量、2个字位控制蓝的量、2个字位控制明亮程度。
[0003]随着科技的发展,计算机显示器上显示的颜色种类逐渐增多,经历了16位色、24位色,目前采用32位色。其中,24位色被已被称为真彩色,它可以达到人眼分辨的极限,发色数是16777215种。而32位色则是增加了8位的透明度(共255种透明度),因此在能显示16777215种不同参数的基础颜色之上又衍生出许多种带有透明度的颜色。一般来讲,在计算机显示器中字位数越高,显示的颜色就会越多,颜色显示的效果也就越好。
[0004]目前,主流的计算机显示器的颜色编码方法没有做到8位显示色与32位显示色兼容并用的效果,并且32位显示色的编码方法采用(A,R,G,B)四位数形式进行存储,形式比较复杂,在调取颜色值时,会耗费大量的计算机内存。

技术实现思路

[0005]为了节省调用颜色值过程中的内存消耗,本申请提供一种颜色编码和解码方法、终端及计算机可读存储介质。
[0006]第一方面,本申请提供一种颜色编码方法,采用如下的技术方案:一种颜色编码方法,包括:响应于用户的颜色选择操作,获取对应的颜色值,并提取所述颜色值中的多个颜色元素值,所述多个颜色元素值包括红色值R、绿色值G和蓝色值B;将所述多个颜色元素值整合转换为第一颜色码X;输出所述第一颜色码X。
[0007]可选的,所述将所述多个颜色元素值整合转换为第一颜色码X,包括:若颜色值为简要颜色,则将所述颜色值对应的多个颜色元素值在颜色对应关系中对应的颜色码确定为所述第一颜色码X;若颜色值为组合颜色,则基于预设的编码算法对所述多个颜色元素值进行编码,得到所述第一颜色码X。
[0008]可选的,所述基于预设的编码算法对所述多个颜色元素值进行编码,得到所述第一颜色码X包括:判断所述多个颜色元素值中是否包含透明度值A;若是,则将所述透明度值A转换为透明度值T;
将所述透明度值T、所述红色值R、所述绿色值G以及所述蓝色值B代入公式X=C+B+G*256+R*256*256+T*256*256*256计算得到第一颜色码X,其中C为转化系数;若否,则将所述红色值R、所述绿色值G以及所述蓝色值B直接代入公式X=C+B+G*256+R*256*256,计算得到第一颜色码X。
[0009]可选的,所述将所述透明度值A转换为透明度值T,包括:若A>252,则T=0;若A≤2,则T=100;若2<A≤252,则T=100

(A/2.525),其中(A/2.525)为int型。
[0010]第二方面,本申请提供一种颜色解码方法,采用如下的技术方案:一种颜色解码方法,包括:获取第一颜色码X;将所述第一颜色码X转化为多个颜色元素值;基于所述多个颜色元素值对所述第一颜色码X对应的颜色进行显示。
[0011]可选的,判断所述第一颜色码X对应的颜色是否为简要颜色;若是,则将所述第一颜色码X在所述颜色对应关系中对应的颜色元素值确定为所述多个颜色元素值;若否,则基于解码算法计算得到所述多个颜色元素值。
[0012]可选的,所述基于解码算法计算得到多个颜色元素值,包括:基于第一颜色码X计算第二颜色码Y,其中Y=X

C;判断所述第二颜色码Y是否不小于256*256*256;若是,则基于第二颜色码Y计算透明度值T,其中T=Y/(256*256*256);基于第二颜色码Y计算第三颜色码Z,其中,Z=Y%(256*256*256),且Z为int型;将第三颜色码Z对应的二进制和0xFF对应的二进制进行位与运算,取低八位得到蓝色值B,将第三颜色码Z对应的二进制和0xFF00对应的二进制进行位与运算,取中间八位得到绿色值G,将第三颜色码Z对应的二进制和0xFF0000对应的二进制进行位与运算,取高八位得到红色值R;将所述透明度值T转换为透明度值A;将所述透明度值A、所述红色值R、所述绿色值G以及所述蓝色值B确定为所述多个颜色元素值;若否,则将第二颜色码Y对应的二进制和0xFF对应的二进制进行位与运算,取低八位得到蓝色值B,将第二颜色码Y对应的二进制和0xFF00对应的二进制进行位与运算,取中间八位得到绿色值G,将第二颜色码Y对应的二进制和0xFF0000对应的二进制进行位与运算,取高八位得到红色值R;将所述红色值R、所述绿色值G以及所述蓝色值B确定为所述多个颜色元素值。
[0013]可选的,所述将所述透明度值T转换为透明度值A,包括:若T<1,则A=255;若T>99,则A=0;若1≤T≤99,则A=254

(T*2.54),其中,T*2.54为int型。
[0014]第三方面,本申请提供一种智能终端,采用如下的技术方案:
一种智能终端,包括存储器和处理器,所述存储器上存储有能够被处理器加载并执行第一方面或第二方面任一种方法的计算机程序。
[0015]第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:一种计算机可读存储介质,存储有能够被处理器加载并执行第一方面或第二方面任一种方法的计算机程序。
[0016]综上所述,通过颜色值调用具体颜色时,需要输入(A,R,G,B)或(R,G,B)多个颜色元素值,每个颜色元素值至少由一位字节组成,每个颜色值至少由5位字节组成,而通过第一颜色码X调用具体颜色时,至少输入一个字节即可,相比于颜色值调用具体颜色来说,第一颜色码X减少了一部分代码量,从而节省了调用颜色值过程中的内存消耗。
附图说明
[0017]图1是本申请实施例中一种颜色编码方法的流程示意图。
[0018]图2是本申请实施例中对基础颜色进行编码方法的流程示意图。
[0019]图3是本申请实施例中步骤S200子步骤的流程示意图。
[0020]图4是本申请实施例中一种颜色解码方法的流程示意图。
[0021]图5是本申请实施例中步骤S600的流程示意图。
[0022]图6是本申请实施例中智能终端800的结构图。
具体实施方式
[0023]以下结合附图对本申请作进一步详细说明。
[0024]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0025]本实施例提供一种颜色编码方法,该颜色编码方法可由智能终端执行,该智能终端可以为服务器也可以为终端设备,其中服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种颜色编码方法,其特征在于,包括:响应于用户的颜色选择操作,获取对应的颜色值,并提取所述颜色值中的多个颜色元素值,所述多个颜色元素值包括红色值R、绿色值G和蓝色值B;将所述多个颜色元素值整合转换为第一颜色码X;输出所述第一颜色码X。2.根据权利要求1所述的方法,其特征在于,所述将所述多个颜色元素值整合转换为第一颜色码X,包括:若颜色值为简要颜色,则将所述颜色值对应的多个颜色元素值在颜色对应关系中对应的颜色码确定为所述第一颜色码X;若颜色值为组合颜色,则基于预设的编码算法对所述多个颜色元素值进行编码,得到所述第一颜色码X。3.根据权利要求2所述的方法,其特征在于,所述基于预设的编码算法对所述多个颜色元素值进行编码,得到所述第一颜色码X,包括:判断所述多个颜色元素值中是否包含透明度值A;若是,则将所述透明度值A转换为透明度值T;将所述透明度值T、所述红色值R、所述绿色值G以及所述蓝色值B代入公式X=C+B+G*256+R*256*256+T*256*256*256计算得到第一颜色码X,其中C为转化系数;若否,则将所述红色值R、所述绿色值G以及所述蓝色值B直接代入公式X=C+B+G*256+R*256*256,计算得到第一颜色码X。4.根据权利要求3所述的方法,其特征在于,所述将所述透明度值A转换为透明度值T,包括:若A>252,则T=0;若A≤2,则T=100;若2<A≤252,则T=100

(A/2.525),其中(A/2.525)为int型。5.一种颜色解码方法,其特征在于,包括:获取第一颜色码X;将所述第一颜色码X转化为多个颜色元素值;基于所述多个颜色元素值对所述第一颜色码X对应的颜色进行显示。6.根据权利要求5所述的方法,其特征在于,所述将所述第一颜色码X转化为多个颜色元素值之前,还包括:判断所述第一颜色码X对应的颜色是否为简要颜色;;若是,则将所述第一颜色码X在颜色对应关系中对应的颜色元素值确定为所述多个颜色元素值...

【专利技术属性】
技术研发人员:高孝敏董国明孙宇佳王美玉于立民垢元培王福超崔伟李伟尤帅李如山王宇常素彩曹瑞明刘佳田志强张金欢
申请(专利权)人:河北省地矿局第二地质大队
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1