You find this example project in your Plugins Download as a Xojo project file within the examples folder: /Picture/Picture manipulation
Class Window1 Inherits Window
Control TabPanel1 Inherits TabPanel
ControlInstance TabPanel1 Inherits TabPanel
EventHandler Sub Change()
update
End EventHandler
End Control
Control Canvass Inherits Canvas
ControlInstance Canvass(0) Inherits Canvas
ControlInstance Canvass(1) Inherits Canvas
ControlInstance Canvass(2) Inherits Canvas
ControlInstance Canvass(3) Inherits Canvas
EventHandler Sub Paint(index as Integer, g As Graphics, areas() As REALbasic.Rect)
if ausgabe<>nil then
g.DrawPicture ausgabe,0,0
end if
End EventHandler
End Control
Control StaticText1 Inherits Label
ControlInstance StaticText1 Inherits Label
End Control
Control StaticText2 Inherits Label
ControlInstance StaticText2 Inherits Label
End Control
Control Sliders Inherits Slider
ControlInstance Sliders(0) Inherits Slider
ControlInstance Sliders(1) Inherits Slider
ControlInstance Sliders(2) Inherits Slider
ControlInstance Sliders(3) Inherits Slider
ControlInstance Sliders(4) Inherits Slider
ControlInstance Sliders(5) Inherits Slider
ControlInstance Sliders(6) Inherits Slider
ControlInstance Sliders(7) Inherits Slider
ControlInstance Sliders(8) Inherits Slider
ControlInstance Sliders(9) Inherits Slider
ControlInstance Sliders(10) Inherits Slider
EventHandler Sub ValueChanged(index as Integer)
StaticTexts(index).text=Format(me.Value/faktor(index),"-0.00")
update
End EventHandler
End Control
Control StaticTexts Inherits Label
ControlInstance StaticTexts(0) Inherits Label
ControlInstance StaticTexts(1) Inherits Label
ControlInstance StaticTexts(2) Inherits Label
ControlInstance StaticTexts(3) Inherits Label
ControlInstance StaticTexts(4) Inherits Label
ControlInstance StaticTexts(5) Inherits Label
ControlInstance StaticTexts(6) Inherits Label
ControlInstance StaticTexts(7) Inherits Label
ControlInstance StaticTexts(8) Inherits Label
ControlInstance StaticTexts(9) Inherits Label
ControlInstance StaticTexts(10) Inherits Label
End Control
Control StaticText5 Inherits Label
ControlInstance StaticText5 Inherits Label
End Control
Control StaticText6 Inherits Label
ControlInstance StaticText6 Inherits Label
End Control
Control StaticText9 Inherits Label
ControlInstance StaticText9 Inherits Label
End Control
Control StaticText3 Inherits Label
ControlInstance StaticText3 Inherits Label
End Control
Control StaticText4 Inherits Label
ControlInstance StaticText4 Inherits Label
End Control
Control StaticText7 Inherits Label
ControlInstance StaticText7 Inherits Label
End Control
Control StaticText8 Inherits Label
ControlInstance StaticText8 Inherits Label
End Control
Control StaticText10 Inherits Label
ControlInstance StaticText10 Inherits Label
End Control
Control StaticText11 Inherits Label
ControlInstance StaticText11 Inherits Label
End Control
Control StaticText12 Inherits Label
ControlInstance StaticText12 Inherits Label
End Control
EventHandler Sub DropObject(obj As DragItem, action As Integer)
dim p as Picture
dim f as FolderItem
dim b as Boolean
do
if obj.PictureAvailable then
p=obj.Picture
if p<>nil then
current=p
b=true
end if
elseif obj.FolderItemAvailable then
f=obj.FolderItem
if f<>nil then
p = Picture.Open(f)
if p<>nil then
current=p
b=true
end if
end if
end if
loop until not obj.NextItem
if b then
update
end if
End EventHandler
EventHandler Sub Open()
dim i as integer
me.AcceptPictureDrop
me.AcceptFileDrop "special/any"
// Faktors to move slider in range
faktor(0)=100
faktor(1)=1
faktor(2)=1
faktor(3)=1
faktor(4)=1
faktor(5)=1
faktor(6)=1
faktor(7)=1
faktor(8)=255
faktor(9)=255
faktor(10)=255
for i=0 to 10
StaticTextS(i).text=Format(Sliders(i).Value/faktor(i),"-0.00")
next
if TargetMacOS then
current = LogoMBS(500) 'app.ResourceFork.GetPicture(148)
update
end if
End EventHandler
Sub update()
dim p as Picture
dim g as Graphics
dim n as integer
if Current<>nil then
p=current.CloneMBS
n=TabPanel1.Value
Select case n
case 0
p=p.ChangeCustomMBS(Sliders(0).Value/100.0,Sliders(1).Value)
case 1
p=p.ChangeBrightnessLinearMBS(Sliders(2).Value,Sliders(3).Value,Sliders(4).Value)
case 2
p=p.ChangeBrightnessAbsoluteMBS(Sliders(5).Value,Sliders(6).Value,Sliders(7).Value)
case 3
p=p.ChangeContrastMBS(Sliders(8).Value/100.0,Sliders(9).Value/100.0,Sliders(10).Value/100.0)
end Select
if p<>nil then
ausgabe=p
end if
Canvass(n).Invalidate
end if
End Sub
Property Protected ausgabe As picture
Property Protected current As picture
Property Protected faktor(10) As integer
End Class
MenuBar Menu
MenuItem UntitledMenu3 = ""
MenuItem UntitledMenu2 = "File"
MenuItem FileQuit = "Quit"
MenuItem UntitledMenu7 = ""
MenuItem UntitledMenu0 = "Edit"
MenuItem EditUndo = "Undo"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "Cut"
MenuItem EditCopy = "Copy"
MenuItem EditPaste = "Paste"
MenuItem EditClear = "Clear"
MenuItem UntitledMenu6 = ""
MenuItem UntitledMenu5 = ""
MenuItem UntitledMenu4 = ""
End MenuBar
Class App Inherits Application
End Class