为了处理图像,你需要了解计算机如何处理图像中的顔色和坐标的基本知识,
以及如何在 Pillow 中处理颜色和坐标。但在继续探讨之前,先要安装 pillow 模块。安装第三方模块请见附录 A。

颜色和 RGBA 值
计算机程序通常将图像中的颜色表示为 RGBA 值。RGBA 值是一组数字,指定顔色中的红、绿、蓝和 alpha(透明度)的值。这些值是从 0(根本没有)到 255(最高)的整数。这些 RGBA 
值分配给单个像素,像素是计算机屏幕上能显示一种顔色的最小点(你可以想到,屏幕上有几百万像素)。像素的 RGB 设置准确地告诉它应该显示哪种颜色的色彩。图像也有一个alpha 值,用于生成 RGBA 
值。如果图像显示在屏幕上,遮住了背景图像或桌面墙纸,alpha  值决定了“透过”这个图像的象素,你可以看到多少背景。
在Pillow 中,RGBA 值表示为四个整数值的元组。例如,红色表示为(255,0, 0,255)。这种颜色中红的值为最大,没有绿和蓝,并且 alpha 
值最大,这意味着它完全不透明。绿色表示为(0,255,0,255),蓝色是(0,0,255,255)。白色是各种颜色的组合,即(255,255,255,255),而黑色没有任何颜色,是(0,0,0,2
55)。
如果颜色的 alpha 值为 0,不论 RGB 值是什么,该颜色是不可见的。毕竟,不可见的红色看起来就像不可见的黑色一样。
Pillow 使用了 HTML 使用的标准颜色名称。表 17-1 列出了一些标准颜色的名称和值。
表 17-1    标准颜色名称及其 RGB 值
名称                             RGBA 值                       名称                             RGBA 值
White                                     (255, 255, 255, 255)              Red                     
                    (255, 0, 0, 255)
Green                                     (0, 128, 0, 255)                      Blue                
                       (0, 0, 255, 255)
Gray                                       (128, 128, 128, 255)              Yellow                 
                   (255, 255, 0, 255)
Black                                      (0, 0, 0, 255)                          Purple           
                          (128, 0, 128, 255)
Pillow 提供 ImageColor.getcolor()函数,所以你不必记住想用的顔色的 RGBA 值。该函数接受一个颜色名称字符串作为第一个参数,字符串'RGBA'作为第二个参数,返回一个 
RGBA 元组。
要了解该函数的工作方式,就在交互式环境中输入以下代码:

为什么)。传递给 ImageColor.getcolor()的颜色名称字符串是不区分大小写的,所以传入'red'➋和传入'RED'➌将得到同样的 
RGBA 元组。还可以传递更多的不常见的顔色名称,如'chocolate'和'Cornflower Blue'。
Pillow  支持大量的颜色名称,从'aliceblue'到'whitesmoke'。在 http://nostarch com/automatestuff/的资源中,可以找到超过 100 
种标准颜色名称的完整列表。

➊  >>>  from  PIL  import  ImageColor
➋  >>>  ImageColor.getcolor('red',  'RGBA')
(255,  0,  0,  255)
➌  >>>  ImageColor.getcolor('RED',  'RGBA')
(255,  0,  0,  255)
>>>  ImageColor.getcolor('Black',  'RGBA')
(0,  0,  0,  255)
>>>  ImageColor.getcolor('chocolate',  'RGBA')
(210,  105,  30,  255)
>>>  ImageColor.getcolor('CornflowerBlue',  'RGBA')
(100,  149,  237,  255)

首先,你需要从 PIL 导入 ImageColor 模块➊(不是从 Pillow,稍后你就会明白

17.1.1 颜色和 RGBA 值相关推荐

  1. 色彩RGBA值写作代码

    对RGBA值的了解也没有很多,只是知道是用来表现颜色的四个通道 R:红色值                                         十六进制: 0~255 G:  绿色值   ...

  2. 获取BGR颜色的HSV值

    import cv2import numpy as np green = np.uint8([[[152, 245, 255]]]) # 输入待转换颜色的BGR值hsv_green = cv2.cvt ...

  3. extjs grid 整行变颜色_EXTJS根据值Value改变gridpanel单元格背景颜色或者设置整行字体颜色...

    第一步. 设置样式 .reportColor4{ background: #93A9C1; } .reportColor5{ background: #EEEEEE; } 第二步.修改单元格样式 he ...

  4. YCbCr(YUV)与RGB转换公式以及常用颜色的yuv值

    YCbCr(YUV)与RGB转换公式以及常用颜色的yuv值 0 前言 一. 公式:基于BT.601-6 二.常用颜色值 0 前言 :找了很多转换公式,这次打算梳理一下,我只采纳了YUV标称的以及RGB ...

  5. 常用颜色的RGB值及调色方法

    RGB值指某种颜色中的红(Red).绿(Green).蓝(Blue)成分,理论上讲红绿蓝三种基色按照不同的比例混合可以调配出任何一种颜色来. 白色:rgb(255,255,255) 黑色:rgb(0, ...

  6. 在Mac OS X下获得电脑屏幕中任意颜色的RGB值

    2019独角兽企业重金招聘Python工程师标准>>> 数码测色计 打开系统中的Launchpad,打开其中的其他文件夹 找到数码测色计,打开,这是系统自带的应用 你的鼠标移动到什么 ...

  7. rgb颜色设置方法及常用颜色的RGB值

    1.Android设置rgb颜色方法 每一个rgb颜色都对应一个int数值,所以我们可以这么设置:  private static final int default_background_color ...

  8. 各种金属颜色的RGB值

    各种金属颜色的RGB值,正确的颜色会有更好的表现效果. 铝箔 180,180,180 铝箔(钝) 180,180,180 铝 220,223,227 磨亮的铝 220,223,227 黄铜 191,1 ...

  9. android rgb颜色设置方法及常用颜色的RGB值

    1.android设置rgb颜色方法 每一个rgb颜色都对应一个int数值,所以我们可以这么设置: private static final int default_background_color ...

  10. OpenGL学习笔记:颜色(RGBA颜色,颜色索引模式)

    OpenGL支持两种颜色模式:一种是RGBA,一种是颜色索引模式. 无论哪种颜色模式,计算机都必须为每一个像素保存一些数据. 不同的是,RGBA模式中,数据直接就代表了颜色:而颜色索引模式中,数据代表 ...

最新文章

  1. 模板初步——定义模板
  2. 软件性能测试类型和指标
  3. 2011年复活节慕尼黑及其周边游之四-新天鹅堡
  4. PHP构建数据结构填充数据
  5. 计算机硬件存储器,个人计算机的存储器系统 说说内核与计算机硬件结构(5)
  6. linux nand 坏块_Nand Flash 中的坏块(Bad Block)
  7. js+面向对象相关笔记(六)
  8. Core 3.1中的应用程序设置如何在多环境场景中工作
  9. 管理历程篇---学会四心
  10. 不当 95% 的劣质勤奋者
  11. [AutoSAR] BSW模块的ECUAL 抽象层
  12. 洛谷 P4392 Sound 静音问题
  13. LINUX内核段错误调试详细指南精品培训PPT讲义
  14. 如何在不支持双面打印的打印机上实现双面打印
  15. c语言数学追赶法编程,计算方法——C语言实现——追赶法求解非线性方程
  16. 耳机及音响--煲机软件
  17. 英语口语196之每日十句口语
  18. linux 端口耗尽,解决端口耗尽问题: tcp_tw_reuse、tcp_timestamps
  19. 谴责那些没有良知的人
  20. 美国服务器的ping值多少网速才算快?

热门文章

  1. 51实验10: 独立按键控制一个数码管显示0-9,按一次只加1.
  2. 中国古代亲属称谓家谱总览
  3. 我读《非暴力沟通》- 马歇尔 *卢森堡 - 让爱融入生活
  4. matlab鼠标中键不能放大缩小,proe鼠标中键不能缩放如何解决
  5. lbochs模拟器最新版_bochs模拟器官方下载
  6. 电脑磁盘分区数据丢失怎么办 磁盘分区丢失的数据怎么恢复
  7. 计算机管理怎么删除分区,电脑如何删除磁盘分区
  8. QUIC特性之连接迁移和队头阻塞消除
  9. ICMP协议和ARP协议
  10. 在阿里做了五年技术主管,我有话想说