Sub Class_Globals
Public Bitmap As B4XBitmap
Private FileName As String = ""
Private FilePath As String = ""
End Sub
Public Sub Initialize(info As MediaChooserResult)
FileName = info.MediaFile
FilePath = info.MediaDir
End Sub
Public Sub LoadImage As Boolean
Try
If File.Exists(FilePath,FileName) Then
Bitmap = LoadBitmap(FilePath,FileName)
Return True
End If
Catch
Logger.LogException(LastException)
End Try
Return False
End Sub
Public Sub Compress
Dim quality As Int = 80
Dim originalSize As Double = Round2(File.Size(FilePath, FileName)/(1024*1024), 3)
Log($"Starting Size: ${originalSize}MB"$)
If LoadImage Then
Dim Out As OutputStream = File.OpenOutput(FilePath, FileName, False)
Bitmap.WriteToStream(Out, quality, "JPEG")
Dim s As Double = Round2(File.Size(FilePath, FileName)/(1024*1024), 3)
Log($"Saved image with quality ${quality} - ${s}MB ratio: ${originalSize/s}"$)
Else
Log("Could not load image")
End If
End Sub