颜色空间转换
不同的像素格式适用于不同的操作。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 倍。
替换 PF_LUMINANCE
Hue
给定一个 RGB 像素,返回其(从 0 映射到 255 的)色调角度,其中 0 是0度,255 是360 度。
替换 PF_HUE
Lightness
给定一个 RGB 像素,返回其亮度值(0 到 255)。
替换 PF_LIGHTNESS
Saturation
给定一个 RGB 像素,返回其饱和度值(0 到 255)。
替换 PF_SATURATION