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).