Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.464 Beiträge
 
Delphi 12 Athens
 
#7

Re: jpeg aus array of byte laden

  Alt 15. Dez 2009, 08:42
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;
  Mit Zitat antworten Zitat