Zitat von
bani:
Doch mStream ist immer leer....
Eigentlich sollte mStream.Size = length(arr) sein, bitte noch mal im Debugger prüfen.
Der Block mit try ... finally ist falsch aufgebaut.
Wo wird mStream freigegeben?
Das eigentliche Problem ist aber, daß du eine TBitmap erzeugst und erwartest das diese Daten im JPG-Format liest.
Eine TBitmap-Komponente liest aber nur Daten im BMP-Format.
Eine TJPEGImage-Komponente liest nur Daten im ... JPG-Format!
Delphi-Quellcode:
b := nil;
arr := user.get('jpegPhoto');
mStream := TMemoryStream.create;
try
mStream.write(arr[0], length(arr));
mStream.Position := 0;
b := TJPEGImage.Create;
b.LoadFromStream(mStream);
ImPhoto.Picture.Assign(b);
finally
mStream.Free;
b.Free;
end;