ich versuche eine Bild, das ich mit der Advanced Camera Library aufgenommen habe wieder mit der JPEG-Library zu laden.
Das Bild wird folgendermaßen gespeichert:
B4X:
Sub cam_PictureTaken (Data() As Byte)
cam.StartPreview
Dim out As OutputStream
out = File.OpenOutput(File.DirRootExternal, aktCamPatId&".jpg", False)
out.WriteBytes(Data, 0, Data.Length)
out.Close
cam.Release
ToastMessageShow("Image saved: " & File.Combine(File.DirRootExternal, aktCamId&".jpg"), True)
End Sub
Das Bild scheint auch soweit in Ordnung zu sein, lässt sich mit Galerie etc. problemlos laden. Beim Laden in der Anwendung bekomme ich folgenden Fehler: java.lang.Exception: Jpeg error: Frame format error [Lf!=count]. Ich lade das Bild folgendermaßen:
B4X:
Dim in As InputStream
Dim bmp As Bitmap
Dim ajpg As Jpeg
ajpg.Initialize("Jpeg")
in = File.OpenInput(File.DirRootExternal, aktCamPatId&".jpg")
ajpg.LoadJpegSizeOnly(in)
in = File.OpenInput(File.DirRootExternal, aktCamPatId&".jpg")
bmp = ajpg.LoadJpegSmaller(in, Jpg.JpegHeight/ImageView1.Height)
Bei Jpg.LoadJpegSizeOnly(in) wird der Fehler geschmissen. Der Fehler tritt bei zwei unterschiedlichen Devices (LG Optimus Speed, Lenovo A1) auf. Ich denke nicht, dass es ein Hardwareproblem ist.
Da Termindruck besteht, brauche ich dringend eine Lösung für das Problem.
Damit kann ich die Größe und andere Parameter beim Laden zwar nicht mehr beeinflussen, aber damit muss ich halt zunächst leben. Falls jemand trotzdem eine Lösung für das JPEG-Laden hat, würde ich das gerne nutzen.