AEJoy —— AE 插件开发中的 颜色空间转换

颜色空间转换

不同的像素格式适用于不同的操作。After Effects 通过PF_ColorCallbacksSuite 公开其内部函数。下面是支持的格式。

不同颜色空间的像素类型

8 bpc ARGB

typedef struct {
  A_u_char alpha, red, green, blue;
} PF_Pixel8;
复制代码

16 bpc ARGB

typedef struct {
  A_u_short alpha, red, green, blue;
} PF_Pixel16;
复制代码

32 bpc ARGB

typedef struct {
  PF_FpShort alpha, red, green, blue;
} PF_PixelFloat, PF_Pixel32;
复制代码

HLS (Hue 色相, Lightness 明度, Saturation 饱和度)

typedef PF_Fixed PF_HLS_PIXEL[3]
复制代码

YIQ (luminance 亮度, in-phase chrominance 同相色度, quadrature chrominance 正交色度)

typedef PF_Fixed PF_YIQ_PIXEL[3]
复制代码

通过使用以下回调函数,插件可以利用为几乎任何颜色空间编写的图像处理算法。

颜色空间转换回调函数

RGBtoHLS

给定一个 RGB 像素,返回一个 HLS (色相,亮度,饱和度)像素。HLS 值在定点上从 0 缩放到 1 。

替换 PF_RGB_TO_HLS

HLStoRGB

给定一个 HLS 像素,返回一个 RGB 像素。

替换 PF_HLS_TO_RGB

RGBtoYIQ

给定一个 RGB 像素,返回一个 YIQ (亮度,同相色,正交色)像素。Y 定点为 0 ~ 1, I 定点为 -0.5959 ~ 0.5959, Q 定点为 -0.5227 ~ 0.5227。

替换 PF_RGB_TO_YIQ

YIQtoRGB

给定一个 YIQ 像素,返回一个 RGB 像素。

替换 PF_YIQ_TO_RGB

Luminance

给定一个 RGB 像素,返回其亮度值(0 到 25500 )的 100 倍。

扫描二维码关注公众号,回复: 13307671 查看本文章

替换 PF_LUMINANCE

Hue

给定一个 RGB 像素,返回其(从 0 映射到 255 的)色调角度,其中 0 是0度,255 是360 度。

替换 PF_HUE

Lightness

给定一个 RGB 像素,返回其亮度值(0 到 255)。

替换 PF_LIGHTNESS

Saturation

给定一个 RGB 像素,返回其饱和度值(0 到 255)。

替换 PF_SATURATION

猜你喜欢

转载自juejin.im/post/7033650426616479752
AE