#include “FreeImage.h„
conduttura di int (argc di int, argv del char* []) {
FIBITMAP *hDIB24bpp = FreeImage_Load (FIF_BMP, “test.bmp„, 0);
se (hDIB24bpp) {
// colore-quantifica 24bpp (risultati in una bitmap 8bpp per regolare acetato)
FIBITMAP *hDIB8bpp = FreeImage_ColorQuantize (hDIB24bpp, FIQ_WUQUANT);
// ottiene la gamma di colori e trova verde intenso
*Palette di RGBQUAD = FreeImage_GetPalette (hDIB8bpp);
Acetato di BYTE [256];
per (senza firma i = 0; i < 256; i++) {
Acetato [i] = 0xFF;
se (&& del >= 0xFE della gamma di colori [i] .rgbGreen
&& del == 0x00 della gamma di colori [i] .rgbBlue
== 0x00 della gamma di colori [i] .rgbRed) {
Acetato [i] = 0x00;
}
}
// ha regolato la tabella di trasparenza
FreeImage_SetTransparencyTable (hDIB8bpp, acetato, 256);
// conserva l'immagine 8bpp come png trasparente
FreeImage_Save (FIF_PNG, hDIB8bpp, “test.png„, 0);
FreeImage_Unload (hDIB24bpp);
FreeImage_Unload (hDIB8bpp);
}
ritorno 0;
} class= >
After di