Xojo Conferences

Platforms to show: All Mac Windows Linux Cross-Platform

/Images/JPEG/jpeg load crashtest/OpenAsJPEG Test
Required plugins for this example: MBS Images Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /Images/JPEG/jpeg load crashtest/OpenAsJPEG Test
This example is the version from Tue, 23th May 2016.
Project "OpenAsJPEG Test.rbp"
Filetype jpeg
End FileTypes
Class TestWindow Inherits Window
Control out Inherits Canvas
ControlInstance out Inherits Canvas
End Control
Control RadioRB Inherits RadioButton
ControlInstance RadioRB Inherits RadioButton
EventHandler Sub Action() runbutton.enabled=true End EventHandler
End Control
Control RadionMBS Inherits RadioButton
ControlInstance RadionMBS Inherits RadioButton
EventHandler Sub Action() runbutton.enabled=true End EventHandler
End Control
Control CheckBox1 Inherits CheckBox
ControlInstance CheckBox1 Inherits CheckBox
End Control
Control Runbutton Inherits PushButton
ControlInstance Runbutton Inherits PushButton
EventHandler Sub Action() dim b as binaryStream dim ff,f as folderItem dim i,n as integer dim t as textoutputStream dim s as string dim p as picture dim pre,post as string dim le as integer dim max as integer if keyboard.asyncOptionKey then // press option for 100 tests. max=100 else max=1 end if ff=SpecialFolder.Desktop.Child("log") // our log file // load the template jpeg into a buffer f=FindFile("template.jpg") b=f.openasbinaryFile(false) le=b.length s=b.read(le) b.close // for the log if RadionMBS.value then pre="We copy " post=" Bytes to test.jpg and try OpenJPEGfile than." else pre="We copy " post=" Bytes to test.jpg and try f.openaspicture than." end if // test.jpg will be the test file f=FindFile("test.jpg") for i=1 to max n=lenb(s)*rnd b=f.createBinaryFile("jpeg") b.write leftb(s,n) b.close if ff.exists then t=ff.appendToTextFile else t=ff.createTextFile end if t.writeline ""+format(n,"0") t.close if RadionMBS.value then p=f.OpenAsJPEGMBS(checkBox1.value) else p=f.openaspicture end if if p=nil then out.graphics.clearRect 0,0,out.width,out.height else out.graphics.drawpicture p,0,0 end if updatenow // for Mac OS X to move the content to screen info.text="This Test.jpg has only "+str(n)+" bytes from the original file which has "+str(le)+" bytes." next t.close End EventHandler
End Control
Control info Inherits Label
ControlInstance info Inherits Label
End Control
Function FindFile(name as string) As FolderItem // Look for file in parent folders from executable on dim parent as FolderItem = app.ExecutableFile.Parent while parent<>Nil dim file as FolderItem = parent.Child(name) if file<>Nil and file.Exists then Return file end if parent = parent.Parent wend End Function
End Class
MenuBar Menu
MenuItem UntitledMenu3 = ""
MenuItem UntitledMenu2 = "File"
MenuItem FileQuit = "Quit"
MenuItem UntitledMenu0 = "Edit"
MenuItem EditUndo = "Undo"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "Cut"
MenuItem EditCopy = "Copy"
MenuItem EditPaste = "Paste"
MenuItem EditClear = "Clear"
End MenuBar
Class App Inherits Application
End Class
End Project

See also:

Feedback, Comments & Corrections

The items on this page are in the following plugins: MBS Images Plugin.

MBS Xojo PDF Plugins