freeimage.h
FreeImage_AdjustCurve
8 24 32
DLL_API BOOL DLL_CALLCONV FreeImage_AdjustCurve(FIBITMAP *dib, BYTE *LUT, FREE_IMAGE_COLOR_CHANNEL channel);
Realiza una transformación de histograma en una imagen de 8-, 24- o 32-bit de acuerdo con los valores de una tabla de búsqueda (LUT). La transformación cambia uno o más canales en función de la siguiente función:
channel(x, y) = LUT[channel(x, y)]
Se asume que el tamaño del 'LUT' es 256. El canal de color a transformar se especifica mediante el parámetro channel. La transformación se hace del siguiente modo:
- Imágenes de 8-bit: si la imagen tiene una paleta de color, el LUT se aplica a esa paleta, en caso contrario, se aplica a los valores de grises. El parámetro channel no se usa.
- Imágenes de 24-bit & 32-bit: si channel es FICC_RGB, el mismo LUT se aplica a cada plano de color (R, G y B). En caso contrario, el LUT se aplica sólo al channel especificado (R, G, B o A).
La función retorna TRUE si tiene éxito, FALSE en caso contrario (por ejemplo cuando la profundidad de bits del dib de entrada no pueda ser manipulada).