颜色体系

颜色体系概述

Easy Graphics使用 Qt的颜色系统

通常使用RGB系统来表示颜色(通过使用color_rgb()函数)。但也可以使用HSV(color_hsv()函数)或者CMYK(color_cymk()函数)。

qcolor-rgb qcolor-hsv qcolor-cmyk
RGB HSV CMYK

除了RGB,HSV或者CMYK值,也可以使用诸如”#112233”这样的RGB字符串、如”#ff112233”这样的ARGB字符串,或者 SVG 1.0 标准颜色名 来表示颜色。

可以使用red()、hue()和cyan()等对象方法来获取颜色的各分量值,也可以使用getRgb()、getHsv()等对象方法来获取。

预定义颜色常量

在EasyGraphics中有24个预定义的颜色常量,如下图所示:

../_images/consts-color.jpg

总结

所以要将绘笔的颜色设为红色,我们可以使用下列方法:

  1. 使用预定义的颜色常量

    set_color(Color.RED)
    
  2. 使用color_rgb()函数

    set_color(color_rgb(255,0,0))
    
  3. 使用颜色名

    set_color("red")
    
  4. 使用CSS颜色字符串

    set_color("#ff0000")
    
  5. 使用整数形式的rgb值

    set_color(0xff0000)
    

透明(Alpha)

与大多数现代图形处理系统一样,Easy Graphics(以及它所使用的Qt系统)使用alpha分量来描述图片中各像素(pixel)的透明度。Alpha值255表示完全不透明,Alpha值0表示完全透明。

所有的颜色函数(color_rgb()/color_hsv()/color_cmyk())都有一个可选的参数”alpha”,来生成一个带透明度的颜色。该参数的缺省值是255,即完全不透明。

你也可以使用to_alpha()函数,通过颜色名、颜色字符串、rgb整数或者已有的颜色来创建带透明的颜色

下面的代码将前景色的alpha值设为150,即半透明。

set_color(to_alpha("red",150))