Einzelnen Beitrag anzeigen

stalkingwolf

Registriert seit: 6. Mai 2011
540 Beiträge
 
#1

Bitmap.LoadThumbnailFromFile : Bitmap zu groß nach TMemoryStream

  Alt 2. Mär 2021, 17:07
Android :
Ich habe ein etwas merkwürdiges Verhalten von der Funktion TImage.bitmap.LoadThumbnailFromFile nachdem ich mit TMemoryStream eine Datei erstellt habe.

Nachdem ich per folgendem Code eine Datei speichere
Code:
     
InputStream := SharedActivity.getContentResolver.openInputStream(Data.getClipData().getItemAt(z).getUri);

b          := TJavaArray<Byte>.Create(InputStream.available);
ms         := TMemoryStream.Create;

InputStream.read(b);
ms.Write(b.Data^, b.Length);
ms.SaveToFile( filename );
ms.Free;
b.Free;
InputStream.close;
kann ich mit
Code:
img := TImage.Create(nil);
try
    img.Bitmap.LoadThumbnailFromFile(filename,75,75);
Kein Thumbnail davon generieren.
Es wird die Exception "Bitmap zu groß" ausgeworfen.

Allerdings ist die Datei korrekt. Ich hab mir die Filesize ausgeben lassen und wenn ich danach auf die Datei zugreife ( andere Funktion ) oder per Explorer auf das Tablet, dann ist die Datei vollkommen in Ordnung.
  Mit Zitat antworten Zitat