J'ai un problème où j'essaye de charger une image de Jpg dans Delphi.Delphi ne pas charger l'image Jpg - pense que c'est un bitmap?
Ma ligne d'appel de code est:
AImage.Picture.LoadFromFile(AImageFilePathStr);
J'ai suivi ce que la méthode Vcl.Graphics TFileFormatsList.FindExt.
J'ai ajouté une montre (certaines variables comme 'I' étaient inaccessibles en raison de l'optimisation), mais FindExt correspond quand I = 8. 4ème élément correspond et «I» compte à rebours de 11 à 0.
Une montre sur TFileFormatType(Items[8])
se développe en GraphicClass is TBitmap and Extension is 'jpg'
. Donc l'extension correspond, mais la classe GraphicClass est TBitmap.
Une exception est levée plus tard "L'image bitmap n'est pas valide". Pourquoi Delphi semble-t-il penser que cette image Jpg est une image bitmap?
Merci.
La seule façon dont '.jpg' correspondrait à' TBitmap' serait si le code utilisateur en dehors de la VCL l'avait mal enregistré en utilisant 'TPicture.RegisterFileFormat()' incorrectement. Ajoutez l'unité 'Vcl.Imaging.Jpeg' standard à votre clause' uses' pour enregistrer correctement JPG. –
Impossible de répondre à cette question en l'état. Vous avez besoin d'un [mcve] pour expliquer le comportement autrement inexplicable. Eh bien, je suppose qu'il est assez facile de supposer que le format a été mal enregistré par quelque chose mais la partie sans réponse est ce qu'est ce quelque chose. –
Mes excuses. Je le ferai dans le futur. – DelphiGuy