Bonjour,
Je suis actuellement sur une appli C++/MFC (Windows NT) qui utilise ImageGear98 pour lire des images Tiff au format CCITT4.
L'application doit maintenant lire de nouvelles images Tiff au format LZW, malheureusement ImageGear ne lit pas les LZW.
J'essaie donc de faire une petite conversion de format LZW vers le format CCITT group4 gràce à GDI+ lors de la lecture de ces fichiers (et de la sauvegarde) pour qu'ils soient lisible ensuite par ImageGear. (de même lorsque je dois créer des images Tiff avec GDI+).
Mais mon code ne fonctionne pas :
Code :
- Bitmap *image = new Bitmap(L"imageLZW.tif" );
- CLSID pngClsid
- GetEncoderClsid(L"image/tif", &pngClsid);
- EncoderParameters encoderParameters;
- encoderParameters.Count = 1;
- encoderParameters.Parameter[0].Guid = EncoderCompression;
- encoderParameters.Parameter[0].Type = EncoderParameterValueTypeLong;
- encoderParameters.Parameter[0].NumberOfValues = 1;
- ULONG valueParameter = EncoderValueCompressionCCITT4;
- encoderParameters.Parameter[0].Value = &valueParameter;
- Status statut = image->Save(L"conversion.tif", &pngClsid, &encoderParameters);
|
le statut renvoie 2 (invalid parameter)
Si j'affecte :
Code :
- valueParameter = EncoderValueCompressionLZW
|
la copie fonctionne mais biensur pas de conversion.
Si quelqu'un sait si c'est possible, si je fais fausse route, ou juste s'il y a un problème dans mon code ?
Merci
Message édité par katopex le 11-02-2009 à 00:33:05