Platforms to show: All Mac Windows Linux Cross-Platform
/Images/LargePicture/Multithreaded Scale
Required plugins for this example: MBS Images Plugin, MBS Main Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /Images/LargePicture/Multithreaded Scale
This example is the version from Sun, 17th Mar 2012.
Project "Multithreaded Scale.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
Control Canvas1 Inherits Canvas
ControlInstance Canvas1 Inherits Canvas
End Control
Control Listbox1 Inherits Listbox
ControlInstance Listbox1 Inherits Listbox
End Control
EventHandler Sub Open()
// insert MBS Registration
// compile
// only use compiled apps for benchmarks.
dim logo as Picture = LogoMBS(500)
dim p1 as new PictureMBS(logo)
dim p2 as new PictureMBS(20000, 20000, p1.ImageFormat)
dim p4 as new PictureMBS(500, 500, p1.ImageFormat)
dim start,ende as integer
start = ticks
call p2.ScaleMT(8, p1, nil, p1.ScaleMitchell, 20000, 20000)
ende = ticks
listbox1.AddRow "larger ScaleMT 8: "+str(ende-start)
start = ticks
call p2.ScaleMT(4, p1, nil, p1.ScaleMitchell, 20000, 20000)
ende = ticks
listbox1.AddRow "larger ScaleMT 4: "+str(ende-start)
start = ticks
call p2.ScaleMT(2, p1, nil, p1.ScaleMitchell, 20000, 20000)
ende = ticks
listbox1.AddRow "larger ScaleMT 2: "+str(ende-start)
start = ticks
call p2.ScaleMT(1, p1, nil, p1.ScaleMitchell, 20000, 20000)
ende = ticks
listbox1.AddRow "larger ScaleMT 1: "+str(ende-start)
start = ticks
call p2.ScaleMT(0, p1, nil, p1.ScaleMitchell, 20000, 20000)
ende = ticks
listbox1.AddRow "larger ScaleMT 0: "+str(ende-start)
start = ticks
call p2.Scale(p1, nil, p1.ScaleMitchell, 20000, 20000)
ende = ticks
listbox1.AddRow "larger Scale: "+str(ende-start)
start = ticks
call p4.ScaleMT(8, p2, nil, p1.ScaleMitchell, 500, 500)
ende = ticks
listbox1.AddRow "smaller ScaleMT 8: "+str(ende-start)
start = ticks
call p4.ScaleMT(4, p2, nil, p1.ScaleMitchell, 500, 500)
ende = ticks
listbox1.AddRow "smaller ScaleMT 4: "+str(ende-start)
start = ticks
call p4.ScaleMT(2, p2, nil, p1.ScaleMitchell, 500, 500)
ende = ticks
listbox1.AddRow "smaller ScaleMT 2: "+str(ende-start)
start = ticks
call p4.ScaleMT(1, p2, nil, p1.ScaleMitchell, 500, 500)
ende = ticks
listbox1.AddRow "smaller ScaleMT 1: "+str(ende-start)
start = ticks
call p4.ScaleMT(0, p2, nil, p1.ScaleMitchell, 500, 500)
ende = ticks
listbox1.AddRow "smaller ScaleMT 0: "+str(ende-start)
start = ticks
call p4.Scale(p2, nil, p1.ScaleMitchell, 500, 500)
ende = ticks
listbox1.AddRow "smaller Scale: "+str(ende-start)
canvas1.Backdrop = p4.CopyPicture
End EventHandler
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
End Project
The items on this page are in the following plugins: MBS Images Plugin.