Bonjour,
Je fais une base de données avec tous les drapeaux des pays du monde. J'ai récupéré les codes iso et entré les petites images qui étaient au format *.png.
En revanche pour extraire et lire les images, je n'y arrive pas. Je peux sortir les images de la base et les mettre sur disque. Paint et les autres afficheurs les lisent sans problème.

Par contre, les composants Delphi refusent de les lire (Voir ci-dessous)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TMainForm.Button3Click(Sender: TObject);
var
  MS: TMemoryStream;
  PNG: TPNGImage;
begin
    PNG:= TPNGImage.create;
    Ms:=TMemoryStream.Create; //<==Je crée un flux
    png.LoadFromFile('.\Z.png');//<== Je charge un fichier *PNG (j'een ai téléchargé plusieurs, c'est pareil
    png.SaveToStream(Ms);  //<== Je mets l'image dans le flux
    png.free;png:=nil; //Pour être sûr je réinitialise complètement l'image
    PNG:= TPNGImage.create;
    //C'est ici que l'erreur se produit (ligne ci-dessous)
    png.LoadFromStream(Ms); //Message d'erreur : le fichier lu n'est pas une image png ou il est possible que ce
end;                        //Fichier soit endommagé
Faut dire qu'en graphisme et images, je suis pas très fort, mais là c'est des heures et des heures de tests.
Si ça se trouve, la réponse est simple. Si quelqu'un l'a...

Vadim