Platforms to show: All Mac Windows Linux Cross-Platform
/MacBase/NSImage GUI with Mask
Required plugins for this example: MBS MacBase Plugin, MBS Main Plugin, MBS Images Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /MacBase/NSImage GUI with Mask
This example is the version from Sun, 17th Mar 2012.
Project "NSImage GUI with Mask.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
EventHandler Sub Open()
dim x as Picture
dim f as FolderItem
dim p as Picture = LogoMBS(500)
dim m as Picture = p.Mask
dim g as Graphics = m.Graphics
g.forecolor = &cFFFFFF
g.fillrect 0,0,500,500
g.forecolor = &c000000
g.filloval 0,0,500,500
f = SpecialFolder.Desktop.Child("testmask1"+filenamePostfix+".png")
call f.SaveAsPNGMBS(p, 0)
dim n as new NSImageMBS(p,m)
dim xx as string = n.PNGRepresentation
f = SpecialFolder.Desktop.Child("testmask2"+filenamePostfix+".png")
dim b as BinaryStream = BinaryStream.Create(f,true)
b.Write xx
b.Close
x = n.CopyPicture
f = SpecialFolder.Desktop.Child("testmask3"+filenamePostfix+".png")
call f.SaveAsPNGMBS(x, 0)
x = n.CopyMask
f = SpecialFolder.Desktop.Child("testmask4"+filenamePostfix+".png")
call f.SaveAsPNGMBS(x, 0)
x = n.CopyPictureWithMask
f = SpecialFolder.Desktop.Child("testmask5"+filenamePostfix+".png")
call f.SaveAsPNGMBS(x, 0)
End EventHandler
Function filenamePostfix() As string
dim name as string = "-"+RBVersionString
if TargetCocoa then
name = name + "-Cocoa"
else
name = name + "-Carbon"
end if
if TargetConsole then
name = name + "-Console"
else
name = name + "-GUI"
end if
if TargetX86 then
name = name + "-x86"
else
name = name + "-PPC"
end if
Return name
End Function
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
See also:
The items on this page are in the following plugins: MBS MacBase Plugin.