freeimage.h

FreeImage_SwapColors

1 4 8 16 24 32

DLL_API unsigned DLL_CALLCONV FreeImage_SwapColors(FIBITMAP *dib, RGBQUAD *color_a,
RGBQUAD *color_b, BOOL ignore_alpha);

Intercambia los dos colores especificados en una imagen con paleta de 1-, 4- o 8-bit o en una imagen de alto color de 16-, 24- o 32-bit.

Esta función intercambio los dos colores especificados color_a y color_b en una imagen con paleta o en una iamgen en alto color dib. Para imágenes en alto color, los datos actuales de la imagen serán modificados, mientras que para imágenes con paleta, sólo se modificará la paleta. Cuando el parámetro ignore_alpha sea TRUE, los colores en imágenes de 32-bit serán tratados como 24-bit.

La función retorna el número de pixels modificados o cero, si no se cambió ningún pixel.

Hay que tener en cuenta que este comportamineto es diferente del de FreeImage_SwapPaletteIndices, que modifica los datos de la imagen reales en imágenes con paleta.

Esta función es sólo un envoltorio para la función FreeImage_ApplyColorMapping y se resuelve como: return FreeImage_ApplyColorMapping(dib, color_a, color_b, 1, ignore_alpha, TRUE);