Android Question Image compress

red30

Active Member
Licensed User
I found a library: CompressorV1.0.zip. (https://www.b4x.com/android/forum/threads/time-to-compress.84759/). I'm trying to compress a photo - jpg (1,5 Мb):
B4X:
#Region  Project Attributes
    #ApplicationLabel: B4A Example
    #VersionCode: 1
    #VersionName:
    'SupportedOrientations possible values: unspecified, landscape or portrait.
    #SupportedOrientations: unspecified
    #CanInstallToExternalStorage: False
#End Region

#Region  Activity Attributes
    #FullScreen: False
    #IncludeTitle: True
#End Region

Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.
    Dim comp As Compressor
End Sub

Sub Globals
    'These global variables will be redeclared each time the activity is created.
    'These variables can only be accessed from this module.

End Sub

Sub Activity_Create(FirstTime As Boolean)
    'Do not forget to load the layout file created with the visual designer. For example:
    'Activity.LoadLayout("Layout1")
    comp.Initialize("Compressor")
    File.Copy(File.DirAssets,"IMG.jpg",File.DirRootExternal,"donmanfredorg.jpg")
    'Dim bmp As Bitmap = comp.compressToBitmap(File.DirRootExternal,"donmanfredorg.png")
    comp.DestinationDirectoryPath = File.Combine(File.DirRootExternal,"Compressor")
    comp.compressToFile(File.DirRootExternal,"donmanfredorg.jpg")
 
'    Dim d As BitmapDrawable
'    d.Initialize(bmp)
'    Activity.Background = d
 
End Sub
But the photo isn't compressed at all. It stays the same. Why doesn't it work? Is there another way to compress a photo to 200-300 Кb?
 

OliverA

Expert
Licensed User
Please note that the link you provided talks about compressing JPEG's without image loss. That is just not doable. The only way to achieve a substantial size decrease in JPEG is by either changing (reducing) the quality, or by reducing the size of the image (both options pointed out by @Erel).
 
Upvote 0
Top