【图片】Python对RGB颜色与16进制颜色进行互转

RGB颜色被称为“真彩色”,是Photoshop中默认使用的颜色,也是最常用的一种颜色模式。RGB模式的图像由3个颜色通道组成,分别为红色通道(Red)、绿色通道(Green)和蓝色通道(Blue)。
每个通道均使用8位颜色信息,每种颜色的取值范围是0~255,这三个通道组合可以产生1670万余种不同的颜色。


1. ARGB与RGB、RGBA的区别
ARGB 是一种色彩模式,也就是RGB色彩模式附加上Alpha(透明度)通道,常见于32位位图的存储结构。
RGB 色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。
RGBA 是代表Red(红色) Green(绿色) Blue(蓝色)和Alpha的色彩空间。虽然它有的时候被描述为一个颜色空间,但是它其实仅仅是RGB模型的附加了额外的信息。
采用的颜色是RGB,可以属于任何一种RGB颜色空间,但是Catmull和Smith在1971至1972年间提出了这个不可或缺的alpha数值,使得alpha渲染和alpha合成变得可能。
提出者以alpha来命名是源于经典的线性插值方程αA + (1-α)B所用的就是这个希腊字母。
PNG是一种使用RGBA的图像格式。
R:红色值。正整数 | 百分数
G:绿色值。正整数 | 百分数
B:蓝色值。正整数 | 百分数
A:Alpha透明度。取值0~1之间。(颜色的透明度)
此色彩模式与RGB相同,RGB定义了颜色的红绿蓝值,在RGB模式上新增了Alpha透明度.
alpha通道一般用作不透明度参数。如果一个像素的alpha通道数值为0%,那它就是完全透明的(也就是看不见的),而数值为100%则意味着一个完全不透明的像素(传统的数字图像)。在0%和100%之间的值则使得像素可以透过背景显示出来,就像透过玻璃(半透明性),这种效果是简单的二元透明性(透明或不透明)做不到的。它使数码合成变得容易。alpha通道值可以用百分比、整数或者像RGB参数那样用0到1的实数表示。

2. 如何将RGB格式颜色与16进制颜色互转

# -!- coding: utf-8 -!-
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#作者:cacho_37967865
#博客:https://blog.csdn.net/sinat_37967865
#文件:RGB.py
#日期:2019-06-19
#备注:Python对RGB颜色与16进制颜色进行互转,然后创建对应颜色的图片并保存下来
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
from PIL import Image# RGB格式颜色转换为16进制颜色格式
def RGB_to_Hex(rgb):RGB = rgb.split(',')            # 将RGB格式划分开来color = '#'for i in RGB:num = int(i)# 将R、G、B分别转化为16进制拼接转换并大写  hex() 函数用于将10进制整数转换成16进制,以字符串形式表示color += str(hex(num))[-2:].replace('x', '0').upper()print(color)return color# 16进制颜色格式颜色转换为RGB格式
def Hex_to_RGB(hex):r = int(hex[1:3],16)g = int(hex[3:5],16)b = int(hex[5:7], 16)rgb = str(r)+','+str(g)+','+str(b)print(rgb)return rgb# 创建90*35尺寸的颜色并保存
def new_image(color,outfile):new_image = Image.new("RGB", (90, 35), color)new_image.save(outfile)# 获取所有的RGB颜色
def get_allRGB():rgb = []for i in range(0,256):for j in range(0,256):for c in range(0,256):rgb.append(str(i)+','+str(j)+','+str(c))return(rgb)def main():color = RGB_to_Hex('255,127,2')outfile = 'color/' + str(color)+'.png'new_image(color,outfile)if __name__ == '__main__':main()#Hex_to_RGB('#FF7F02')

3. 二进制、十进制、8进制、16进制转换

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python】pyinstaller模块将py文件打包为windows可执行文件exe

python脚本如果在没有安装python的机器上不能运行,所以将脚本打包成exe文件,降低脚本对环境的依赖性,同时运行更加迅速。当然打包的脚本似乎不是在所有的win平台下都能使用,win7有一部分不能使用,我在win10能够很好的运…

html img src

< img >标签 代表 图片&#xff0c;img标签的作用是向网页中插入一张图片&#xff0c;并不是将图片绘制到网页中。 src 属性&#xff1a;“插入”图片到网页中去。 alt 属性&#xff1a;值可以是一段文字&#xff0c;当图片由于各种原因无法显示时&#xff0c;alt属性的…

【自动化】Python3+Selenium3自动化测试-准备工作

# 系统&#xff1a;win7(64位) # 浏览器&#xff1a;Chrome(75.0.3770.100) # python版本&#xff1a;3.7.0 # Selenium&#xff1a;3.14.1 Selenium简介 Selenium是一款适用于Web应用程序的便携式软件测试框架。 Selenium为编写测试提供了一个回放工具&#xff0c;无需学习测…

基本数据类型float和double的区别

float : 单精度浮点数 double : 双精度浮点数 两者的主要区别如下&#xff1a; 01.在内存中占有的字节数不同 单精度浮点数在机内存占4个字节 双精度浮点数在机内存占8个字节 02.有效数字位数不同 单精度浮点数有效数字8位 双精度浮点数有效数字16位 03.数值取值范围 单精度浮…

【Python】pip模块管理Python包的常用方法

pip 是 Python 包管理工具&#xff0c;该工具提供了对Python 包的查找、下载、安装、卸载的功能。 目前如果你在 python.org 下载最新版本的安装包&#xff0c;则是已经自带了该工具。 Python 2.7.9 或 Python 3.4 以上版本都自带 pip 工具。pip 官网&#xff1a;https://pypi…

OpenCV_ cv2.imshow()

cv2.imshow() cv2.imShow()函数可以在窗口中显示图像。该窗口和图像的原始大小自适应&#xff08;自动调整到原始尺寸&#xff09;。 第一个参数是一个窗口名称&#xff08;也就是我们对话框的名称&#xff09;&#xff0c;它是一个字符串类型。第二个参数是我们的图像。您可以…

【数据库】mysql常用的数据类型

数据类型是指列、存储过程参数、表达式和局部变量的数据特征&#xff0c;它决定了数据的存储格式&#xff0c;代表了不同的信息类型。 有一些数据是要存储为数字的&#xff0c;数字当中有些是要存储为整数、小数、日期型等... MySQL支持多种类型&#xff0c;大致可以分为四类&a…

numpy、cv2等操作图片基本操作

相关包 matplotlibPILcv2numpy 各种操作 读取图片 1 matplotlib.pylab import pylab as plt import numpy as np img plt.imread(examples.png) print(type(img), img.dtype, np.min(img), np.max(img)) [out] (<type numpy.ndarray>, dtype(float32), 0.0, 1.0) …

【Python】base64模块对图片进行base64编码和解码

图片的base64编码就是可以将一副图片数据编码成一串字符串&#xff0c;使用该字符串代替图像地址。 这样做有什么意义呢&#xff1f;我们知道&#xff0c;我们所看到的网页上的每一个图片&#xff0c;都是需要消耗一个 http 请求下载而来的。 没错&#xff0c;不管如何&#xf…

Mysql错误2003 -Can't connect toMySQL server on 'localhost'(10061)解决办法

错误图片 昨天晚上还在用mysql来存储东西,而今天早上发现mysql数据库根本打不开,吓了我一大跳,本来就想重装mysql服务,但是我的数据库都没了,相当于大楼盖起来了,地基一下出现了裂缝,后来经过研究解决办法 如下 我发现mysql的服务一直无法启动如图 显示Cant connect toMySQL s…

【Python实战】使用python计算多种还款方式的还款计划

随着人们经济活动的增加&#xff0c;用钱的地方越来越多&#xff0c;不管是像买房这样的大额支出还是个人消费型支出&#xff0c;越来越多的人选择贷款来解决眼前的经济危机。 而申请贷款就涉及到选择不同的还款方式&#xff0c;所需要偿还的欠款综合也大有不同&#xff0c;那么…

python write报错a byte-like object is required.not str

办法一&#xff1a;根本原因是Python版本问题python2.x中要求用‘wb’&#xff0c;python3.x中要求用w 用open&#xff08;filename&#xff0c;‘w’&#xff09;方式 办法二&#xff1a;encode(ascii)

【Python】浮点数计算时的不准确性以及如何进行精确计算

浮点数一个普遍的问题就是在计算机的世界中&#xff0c;浮点数并不能准确地表示十进制。并且&#xff0c;即便是最简单的数学运算&#xff0c;也会带来不可控制的后果。因为&#xff0c;在计算机的世界中只认识0与1 因为在计算机里面&#xff0c;小数是不精确的&#xff0c;例如…

echarts自定义showlading()样式和文本

1、首先引入echarts.js 2、在页面定义自己的echarts变量 var myChart echarts.init(document.getElementById(main)); 3、自定义showLoading()样式 myChart.showLoading(default, {text:统计中&#xff0c;请稍候...,maskColor: #404a59,textColor: #fff,}); text:文本内…

【视频】视频基本参数介绍

视频&#xff08;Video&#xff09;泛指将一系列静态影像以电信号的方式加以捕捉、纪录、处理、储存、传送与重现的各种技术。 连续的图像变化每秒超过24帧&#xff08;frame&#xff09;画面以上时&#xff0c;根据视觉暂留原理&#xff0c;人眼无法辨别单幅的静态画面&#x…

测试人员做到这几点,线上80%的BUG将落入你手,企业将避免重大风险

BUG事故给敲了很大的警钟&#xff0c;也给公司带来重大损失&#xff0c;作为测试人员&#xff0c;我们如何提现发现线上BUG并及时解决&#xff0c;避免落入用户手中&#xff0c;给企业带来无法挽回的损失。 案例1&#xff1a; 1月20日凌晨&#xff0c;拼多多App因技术漏洞&am…

Django与jQuery通信;Django前后端传值

window.onloadfunction(){var user_info{{user_info|default_if_none:0}};if(user_info0){alert("您好没有登录&#xff01;");window.location.href"/login"; //跳转到登录界面} } 参考自&#xff1a;https://blog.csdn.net/PlusChang/article/details/7…

【Python】pysnooper模块对代码进行调试

一般情况下&#xff0c;在编写Python代码时&#xff0c;如果想弄清楚为什么Python代码没有按照预期执行的原因&#xff0c;比如你想知道哪些是正在运行&#xff0c;哪些没有运行&#xff0c;以及局部变量的值是什么... 通常我们会使用包含断点和观察模式等功能成熟的调试器&…

解决$ is not define

今天写js的时候&#xff0c;发现怎么也没有效果。然后我前端调试的时候报这样的错 $ is not define 这个错误我以前也出现过。所以就这个错误的解决&#xff0c;我来总结一下。 1.首先&#xff0c;"$"这个符号是在jquery中定义的。所以你要看一下&#xff0c;你有没…

模拟导入系统通讯录5000+手机号 校验大量数据处理

模拟导入系统通讯录5000手机号 校验大量数据处理 之前再测试一个导入手机通讯录系统时&#xff0c;随机抽了几个人的手机进行了测试&#xff0c;都导入显示正常 当公司BD进行项目试用时&#xff0c;导入通讯录一直处于下图加载中 1、于是进行抓包查看日志进行定位&#xff0c…