Platforms to show: All Mac Windows Linux Cross-Platform
Required plugins for this example: MBS Main Plugin, MBS Images Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /Images/JPEG/Turbo JPEG Test
This example is the version from Wed, 5th Nov 2019.
Project "Turbo JPEG Test.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Delete"
Const kFileQuit = "&Quit"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
EventHandler Sub Open()
Dim p As Picture = LogoMBS(5000)
// compress
// normal libjpeg
Dim m1 As Double = Microseconds
Dim jpegData1 As String = PictureToJPEGStringMBS(p, 80)
Dim m2 As Double = Microseconds
// switch API
JPEGExporterMBS.SetAPI JPEGTurboMBS.API
JPEGImporterMBS.SetAPI JPEGTurboMBS.API
// now libjpeg-turbo
Dim m3 As Double = Microseconds
Dim jpegData2 As String = PictureToJPEGStringMBS(p, 80)
Dim m4 As Double = Microseconds
Dim d1 As Double = (m2-m1) /1000
Dim d2 As Double = (m4-m3) /1000
MsgBox Str(d1)+" vs "+Str(d2)+" ms"
// decompress
Dim m5 As Double = Microseconds
Dim pic1 As Picture = JPEGStringToPictureMBS(jpegData1)
Dim m6 As Double = Microseconds
// switch API back
JPEGExporterMBS.SetAPI nil
JPEGImporterMBS.SetAPI Nil
Dim m7 As Double = Microseconds
Dim pic2 As Picture = JPEGStringToPictureMBS(jpegData1)
Dim m8 As Double = Microseconds
Dim d3 As Double = (m6-m5) /1000
Dim d4 As Double = (m8-m7) /1000
MsgBox Str(d3)+" vs "+Str(d4)+" ms"
End EventHandler
End Class
MenuBar MainMenuBar
MenuItem FileMenu = "&File"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem EditSeparator1 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "#App.kEditClear"
MenuItem EditSeparator2 = "-"
MenuItem EditSelectAll = "Select &All"
End MenuBar
End Project
The items on this page are in the following plugins: MBS Images Plugin.