Salut,
RGB565 -> RGB888 ?
Un RGB565 contient moins d'informations qu'un RGB888, donc il va falloire "inventer" des informations. Il semble qu'il y ai
deux méthodes
: recopier les bits de poids fort dans les bits de poid faible, ou
faire un classique produit en croix. La première méthode est moins
précise mais plus rapide que la seconde.
R8 = (R5 << 3) | (R5 >> 2);
R8 = (R5 * 255) / 31;
Ca doit être quelque chose comme ça (Non testé, types Windows) :
COLOR16 rgb565;
RGBTRIPLE rgb888;
BYTE R5, G6, B5;
R5 = rgb565 & 1F;
G6 = (rgb565 >> 5) & 3F;
B5 = (rgb565 >> 11) & 1F;
rgb888.rgbtRed = (R5 << 3) | (R5 >> 2);
rgb888.rgbtGreen = (G6 << 2) | (G6 >> 4);
rgb888.rgbtBlue = (B5 << 3) | (B5 >> 2);