是否可以根据像素RGB值使用Accelerate框架调整alpha?
具体来说,如果颜色为黑色(RGB 0
),我想将Alpha设置为0/0/0
答案 0 :(得分:2)
没有加速。在CoreGraphics中,您可以根据需要设置蒙版颜色。
严格地说,如果你在CGImageRef上设置了一个掩蔽颜色,然后使用vImageBufer_InitWithCGImage将其解码为像素,它应该执行/可能/限定的那个。但是,在这种情况下,CG正在进行掩蔽工作。
您可以提交雷达要求。到目前为止,它并不是一个优先事项,因为你获得的alpha不是消除锯齿的。
typedef __attribute__ ((ext_vector_type( 4),__aligned__( 16))) uint32_t uint4;
// ARGB example (on little endian processor):
// uint4 result = maskByColor( pixels, (uint4)0, (uint4) 0x000000ff );
uint4 maskByColor( uint4 fourPixels, uint4 maskColor, uint4 alphaMask ){
return fourPixels & ~(maskColor == (fourPixels & ~alphaMask));
}