Conversion de CMJN en RVB [French]

Discussions on GFL SDK, the graphic library for reading and writing graphic files

Moderators: XnTriq, xnview

User avatar
Ithier
Posts: 47
Joined: Fri Nov 19, 2004 10:50 am
Location: Paris, France

Conversion de CMJN en RVB [French]

Post by Ithier »

Bonjour,

J'essaye de transformer une image CMJN en RVB. Si je le fais au chargement de l'image en n'utilisant pas le paramètre GFL_LOAD_ORIGINAL_COLORMODEL alors cela se passe bien.
Si j'utilise le paramètre précité et que j'utilise ensuite la fonction gflChangeColorDepth alors cela ne marche pas du tout.
Voici un exemple de code qui prend en entrée une image CMJN et sors deux fichiers BMP, output1.bmp qui est correct et output2.bmp qui est mauvais.

Code: Select all

#include "stdio.h"
#include "libgfl.h"

void CheckGfl (GFL_ERROR Erreur)
{
	if (Erreur != GFL_NO_ERROR )
	{
		printf ("Erreur: %d", Erreur);
		exit(1);
	}
}


int main(int argc, char* argv[])
{
	gflLibraryInit();

	//Ouverture du fichier
	GFL_LOAD_PARAMS load_option;
	gflGetDefaultLoadParams( &load_option );

	//Parametres de la sauvegarde
	GFL_SAVE_PARAMS save_option;
	gflGetDefaultSaveParams(&save_option);
	save_option.FormatIndex = 4; //BMP


	//*****Chargement et convertion en une fois
	GFL_FILE_INFORMATION file_info;
	GFL_BITMAP* bitmap;
	CheckGfl (gflLoadBitmap(argv[1], &bitmap,  &load_option, &file_info));
	CheckGfl (gflSaveBitmap("output1.bmp", bitmap, &save_option));


	//*****Conversion apres l'ouverture
	load_option.Flags=GFL_LOAD_ORIGINAL_COLORMODEL;
	CheckGfl (gflLoadBitmap(argv[1], &bitmap,  &load_option, &file_info));

	//Conversion en RGB
	CheckGfl (gflChangeColorDepth(bitmap,NULL,GFL_MODE_TO_RGB,GFL_MODE_NO_DITHER));
	CheckGfl (gflSaveBitmap("output2.bmp", bitmap, &save_option));

	return 0;
}
Avez-vous une idée de ce qui ne vas pas ?

Ithier