Salut!
Je veux savoir comment connaître par code le type d'une image quelconque dans TImage c'est à dire c'est une image de type Bitmap ou Jpeg ou autre.
Merci d'avance!
Version imprimable
Salut!
Je veux savoir comment connaître par code le type d'une image quelconque dans TImage c'est à dire c'est une image de type Bitmap ou Jpeg ou autre.
Merci d'avance!
Salut :D
Si tu ouvres un fichier bmp ou jpeg, tu verras qu'ils commencent tous de la mêm façon:
- BM6 pour un Bitmap
- ÿØÿ pour un jpeg (:lol:)
Sinon, tu peux aussi essayer de charger avec un TBitmap en interceptant l'erreur d'ouverture si ce n'est pas un bitmap ;)
Pour plus de renseignements, fais une recherche sur google pour des sites expliquant les structures de ces fichiers :D Tu verras que chaque type de fichier à les mêmes caractères à son début ;)
Salut Pedro204
Merci pour votre réponse
S'il vous plait explique moi comment charger avec un TBitmap en interceptant l'erreur d'ouverture si ce n'est pas un bitmap.
Merci d'avance
Salut,
Si tu veux déterminer quel type d'image se trouve déjà dans un TPicture donné, il suffit d'aller voir de quel type est le Picture.Graphic
Mais puisque tu sembles plutôt vouloir déterminer le type d'une image uniquement en fonction de son contenu, tu peux effectivement le faire toi même comme l'a suggéré Pedro204, si cela se limite à l'alternative exclusive BMP/JPG (avec la détection d'entête ou le try..except pourquoi pas).
Mais voici au besoin une solution déjà codée qui fonctionnerait même pour la détection d'autres types d'images :
:arrow: Utiliser l'unité GraphicEx (qui permet de lire de nombreux formats), et notamment la fonction :
C'était juste pour info. Choisis tes armes en fonction de tes besoins (présents et futurs :wink: ).Code:function TFileFormatList.GraphicFromContent(Stream: TStream): TGraphicExGraphicClass;