Bonjour,
J'ai un projet sous delphi "classique" qui enregistrait des BMP au format JPEG compressé :
Sous FireMonkey, pour la plateforme Mac OSX, le vcl.graphics.TBitmap et le Vcl.Imaging.jpeg.TJPEGImage ne sont plus utilisables.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Jpg:=Tjpegimage.Create; // Jpg = creation d'une image JPG jpg.CompressionQuality:=80; // Compression jpg.Assign(Bitmap); // ici c'était un vcl.graphics.TBitmap ! jpg.SaveToFile(gc_jpgpath); // Enregistrer Jpg.Free;
On utilise donc à la place le FMX.Types.TBitmap. Or il permet d'enregistrer directement au format JPEG. Le code précédent devient alors :
Bien, merveilleux apparemment, puisqu'on a remplacé 5 lignes de code par une seule.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Bitmap.SaveToFile(gc_jpgpath, 'JPEG'); // Fmx.Types.TBitmap ici !
Oui MAIS : Quand les fichiers enregistrés par la première méthode pesaient 15Ko en moyenne, les mêmes fichiers enregistrés par la seconde méthode pèsent plus de 120 Ko !
Or la taille de moins de 20Ko pour les jpeg est une des contraintes imposées par le projet.
Question : Comment préciser le taux de compression lors de l'enregistrement en jpeg d'un FMX.Types.TBitmap ?
Je ne vois aucune propriété ou méthode dans les Fmx.Types.TBitmap pour faire ça, et aucune classe FMX pour les jpeg....
André.
Partager