Le format HD Photo de Microsoft disponible depuis la sortie de Windows Vista permet de gagner de la place sur la taille des images .
Citation Wikipedia :
HD Photo est un format permettant la compression et la décompression en n’utilisant que des calculs sur des entiers, sans opération en virgule flottante, ce qui permet des gains de performance intéressants. Il supporte le monochrome et les codages de couleur RGB et CYMK. On peut adjoindre à l’image un canal alpha pour la transparence et le support des formats de métadonnées Exif et XMP est disponible. Il n’est en outre pas nécessaire de décompresser l’image pour effectuer certaines opérations, comme le cropping, les inversions et les rotations
Passons maintenant à la partie code pour la conversion ..
.
1: public static void FileToWmp(string inFile, string outFile)
2: {
3: // Container for bitmap frames
4: BitmapDecoder bdFile = null;
5: // Read the source file into a FileStream object
6: FileStream readFile = File.OpenRead(inFile);
7: // Set the BitmapDecoder object from the source file
8: bdFile = BitmapDecoder.Create(readFile, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.None);
9: // Prepare the output file
10: FileStream writeFile = File.OpenWrite(outFile);
11: // All the magic done by WmpBitmapEncoder
12: WmpBitmapEncoder wbeFile = new WmpBitmapEncoder();
13: // Set the quality level to... pretty good
14: wbeFile.ImageQualityLevel = 0.9f;
15: // Add the bitmap frame to the encoder object
16: wbeFile.Frames.Add(bdFile.Frames[0]);
17: // Write the output file
18: wbeFile.Save(writeFile);
19: writeFile.Close();
20: readFile.Close();
21: }
Cet extrait de code vient du blog de RaptorXP qui l’a pris sur GeekPedia
Blog de l’équipe HDVIEW (microsoft)
PS: Ce format n’est pas reconnue sous XP et ses versions antérieures .
Par contre sous vista avec IE 7 aucun problème .
Technorati tags: c#, HD_Photo