Bonjour tout le monde,
Je possède une base de données SQLite, liée à Delphi via un ODBC, et dans laquelle des images bitmap sont stockées.
J'aimerais récupérer ces images sous forme de tableau de byte dans Delphi pour pouvoir par la suite des enregistrer dans un document XML.
Je rencontre un problème lors de la lecture des données
La propriété BytesImage.DataSize retourne 128 bytes alors que le bitmap chargé dans le champ BLOBIMAGE a une taille d'environ 2Ko.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Type TAOF = Array Of Byte; Var ByteArr : TAOF; BytesImage : TBytesField; ... //Requête sur wwQuery1 : SELECT BLOBIMAGE FROM TEST wwQuery1.First; BytesImage:=wwQuery1.FieldByName('BLOBIMAGE') As TBytesField; SetLength(ByteArr,BytesImage.DataSize); BytesImage.GetData(ByteArr);
Comment cela se fait-il? Comment puis-je charger la totalité du champ bytes?
J'ai pensé à une sorte de compression au moment du stockage de l'image dans SQLite mais comme dans Delphi, l'image apparaît au format Bytes, comment décompresser le tout?
Merci d'avance
Partager