Platforms to show: All Mac Windows Linux Cross-Platform

Back to PictureMBS class.

Next items

PictureMBS.Channel(index as Integer) as PictureMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 11.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Returns the channel with the given index as a new picture object.
Example
Var p as new PictureMBS(100,100,PictureMBS.ImageFormatRGB)
Var r as PictureMBS = p.Channel(0)
r.fillrect(100) // fill only red channel

Returns nil on any error. May raise an out of bounds exception on invalid index. Index is zero based.
No copy is made of the actual pixel data. Modifying the channel picture will modify the original picture.
Use this function to access the pixels of the channel directly.
The resulting PictureMBS object is a grayscale picture.

See also:

PictureMBS.ChannelOffset(index as integer) as integer

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 20.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Queries channel offset within pixel.

For RGB the red channel has offset 0, the green channel has offset 1 and the blue channel has offset 2.

PictureMBS.Channels as String()

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 18.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The name of the channels of an image.
Example
Var p as new Picture(100,100,32)
Var q as new PictureMBS(p)

Var channels() as string = q.Channels

Var cr as PictureMBS = q.RedChannel
Var cg as PictureMBS = q.GreenChannel
Var cb as PictureMBS = q.BlueChannel
Var c0 as pictureMBS = q.Channel(0)
Var c1 as pictureMBS = q.Channel(1)
Var c2 as pictureMBS = q.Channel(2)

Var crn as string = cg.Channel
Var cgn as string = cg.Channel
Var cbn as string = cg.Channel
Var c0n as string = c0.Channel
Var c1n as string = c1.Channel
Var c2n as string = c2.Channel

Break // check in debugger

PictureMBS.ClearCache

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 18.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Clears picture cache.

If target of this PictureMBS is a Xojo picture, this method clears the Xojo cache for the picture to make sure it recognizes changes.
Does nothing if there is no target picture or there is no cache.

PictureMBS.ClearRect

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 8.7 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Clears all pixels.
Example
Var l as Picture = LogoMBS(500)
Var p as new PictureMBS(l)
p.ClearRect
window1.Backdrop = p.CopyPicture

Writes zeros over all pixels and all channels.
Works with Gray, RGB and CMYK pictures and supports alpha channel.

See also:

PictureMBS.ClearRect(x as Integer, y as Integer, width as Integer, height as Integer)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 8.7 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Clears all pixels in the given area.
Example
Var l as Picture = LogoMBS(500)
Var p as new PictureMBS(l)
p.ClearRect(0,0,100,100)
window1.Backdrop = p.CopyPicture

Writes zeros over all pixels and all channels.
Works with Gray, RGB and CMYK pictures and supports alpha channel.

See also:

PictureMBS.ClipImage as PictureMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 10.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a new PictureMBS object for the same picture content.

This may be useful if you need a second PictureMBS object. For example if two threads work on different rows.

See also:

Some examples using this method:

PictureMBS.ClipImage(x as Integer, y as Integer, width as Integer, height as Integer) as PictureMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 8.7 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a new PictureMBS object which draws only into a portion of the existing image.
Example
Var l as Picture = LogoMBS(500)
Var p as new PictureMBS(l)

// clip it
Var c as PictureMBS = p.ClipImage(100, 100, 300, 300)

// clone it
Var q as PictureMBS = c.Clone

// and see result in debugger
Var pic as Picture = q.CopyPicture

Break

This may be useful to apply an effect only on a portion of an existing image.

See also:

PictureMBS.Clone as PictureMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 8.7 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a copy of a picture.
Example
Var l as Picture = LogoMBS(500)
Var p as new PictureMBS(l)

// clip it
Var c as PictureMBS = p.ClipImage(100, 100, 300, 300)

// clone it
Var q as PictureMBS = c.Clone

// and see result in debugger
Var pic as Picture = q.CopyPicture

Break

Does not work for pictures using virtual memory.
(Fails if IsMapping=True)
Copies the whole picture even if you clone just one channel.

Returns nil on low memory.

PictureMBS.Close

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 8.7 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Closes the picture by releasing all memory.

This calls the destructor internally.

PictureMBS.CMYKChannels as PictureMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 11.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
The CMYK channels as a new PictureMBS object.

Returns nil if the image is not a CMYK picture.
No copy is made of the actual pixel data. Modifying the channel picture will modify the original picture.
Use this function to access the CMYK pixels directly without modifying an alpha channel
The resulting PictureMBS object is a CMYK picture.

PictureMBS.Combine(Image As PictureMBS, Mask As PictureMBS, DestX as Integer, DestY as Integer, SourceX as Integer, SourceY as Integer, Width as Integer, Height as Integer, UseColours As Boolean) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 10.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Copies pixels from one picture into another picture with some options.
Example
Var DestImage As PictureMBS
Var Image As PictureMBS
Var Mask As PictureMBS
Var DestX as Integer=100
Var DestY as Integer=100
Var SourceX as Integer=0
Var SourceY as Integer=0
Var Width as Integer=500
Var Height as Integer=500

image=new PictureMBS(LogoMBS(500))
Mask=nil
DestImage=new PictureMBS(700,700,PictureMBS.ImageFormatRGB)

// this will only copy the pixels
if DestImage.Combine(image,Mask,DestX,DestY,SourceX,SourceY,Width,Height,false) then
window1.Backdrop=DestImage.CopyPicture
end if

Returns true on success and false on failure.

This function has 4 behaviors depending on the parameters:

1. If mask is nil and no ForeColour and MaskColour values are passed, the pixels a copied to the destination picture.

2. But if there is a mask, the pixels are copied with applying the mask.

3. If the mask color is not defined, the the pixels are filled with the fore color applying the mask.

4. As the last variation the pixels are copied and the forecolor, the mask color or black is used with the image as the mask. If UseColours parameter is false black is used for this.

Parameters:
Image: the source picture, must not be nil.
PreMultipliedSource: Optional parameter. If true the image must be premultiplied. Default is false.
Mask: the mask picture, can be nil.
DestX: destination position
DestY: destination position
SourceX: source position
SourceY: source position
Width: width of the area to copy
Height: height of the area to copy
UseColours: whether to use the mask colour.
ForeColour: the fore colour, optional, can be integer or color
MaskColour: the mask color, optional, can be integer or color

This function is 5 times in the plugin defined to implement having the last two parameters optional and either integer or color. You can pass a negative number for MaskColour or ForeColour to disable this parameter.

The images you use can be Gray, RGB with or without alpha channels. But most variants here ignore alpha channels. To make sure the alpha channel is not touched, use the PictureMBS.RGBChannels function and pass that new PictureMBS.

See also:

PictureMBS.Combine(Image As PictureMBS, Mask As PictureMBS, DestX as Integer, DestY as Integer, SourceX as Integer, SourceY as Integer, Width as Integer, Height as Integer, UseColours As Boolean, ForeColour As color) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 10.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Copies pixels from one picture into another picture with some options.

Returns true on success and false on failure.

This function has 4 behaviors depending on the parameters:

1. If mask is nil and no ForeColour and MaskColour values are passed, the pixels a copied to the destination picture.

2. But if there is a mask, the pixels are copied with applying the mask.

3. If the mask color is not defined, the the pixels are filled with the fore color applying the mask.

4. As the last variation the pixels are copied and the forecolor, the mask color or black is used with the image as the mask. If UseColours parameter is false black is used for this.

Parameters:
Image: the source picture, must not be nil.
PreMultipliedSource: Optional parameter. If true the image must be premultiplied. Default is false.
Mask: the mask picture, can be nil.
DestX: destination position
DestY: destination position
SourceX: source position
SourceY: source position
Width: width of the area to copy
Height: height of the area to copy
UseColours: whether to use the mask colour.
ForeColour: the fore colour, optional, can be integer or color
MaskColour: the mask color, optional, can be integer or color

This function is 5 times in the plugin defined to implement having the last two parameters optional and either integer or color. You can pass a negative number for MaskColour or ForeColour to disable this parameter.

The images you use can be Gray, RGB with or without alpha channels. But most variants here ignore alpha channels. To make sure the alpha channel is not touched, use the PictureMBS.RGBChannels function and pass that new PictureMBS.

See also:

PictureMBS.Combine(Image As PictureMBS, Mask As PictureMBS, DestX as Integer, DestY as Integer, SourceX as Integer, SourceY as Integer, Width as Integer, Height as Integer, UseColours As Boolean, ForeColour As color, MaskColour As color) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 10.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Copies pixels from one picture into another picture with some options.
Example
Var DestImage As PictureMBS
Var Image As PictureMBS
Var Mask As PictureMBS
Var DestX as Integer=100
Var DestY as Integer=100
Var SourceX as Integer=0
Var SourceY as Integer=0
Var Width as Integer=500
Var Height as Integer=500

image=new PictureMBS(LogoMBS(500))
Mask=nil
DestImage=new PictureMBS(700,700,PictureMBS.ImageFormatRGB)

if DestImage.Combine(image,Mask,DestX,DestY,SourceX,SourceY,Width,Height,true, &cFF0000, &cFF0000) then
window1.Backdrop=DestImage.CopyPicture
end if

Returns true on success and false on failure.

This function has 4 behaviors depending on the parameters:

1. If mask is nil and no ForeColour and MaskColour values are passed, the pixels a copied to the destination picture.

2. But if there is a mask, the pixels are copied with applying the mask.

3. If the mask color is not defined, the the pixels are filled with the fore color applying the mask.

4. As the last variation the pixels are copied and the forecolor, the mask color or black is used with the image as the mask. If UseColours parameter is false black is used for this.

Parameters:
Image: the source picture, must not be nil.
PreMultipliedSource: Optional parameter. If true the image must be premultiplied. Default is false.
Mask: the mask picture, can be nil.
DestX: destination position
DestY: destination position
SourceX: source position
SourceY: source position
Width: width of the area to copy
Height: height of the area to copy
UseColours: whether to use the mask colour.
ForeColour: the fore colour, optional, can be integer or color
MaskColour: the mask color, optional, can be integer or color

This function is 5 times in the plugin defined to implement having the last two parameters optional and either integer or color. You can pass a negative number for MaskColour or ForeColour to disable this parameter.

The images you use can be Gray, RGB with or without alpha channels. But most variants here ignore alpha channels. To make sure the alpha channel is not touched, use the PictureMBS.RGBChannels function and pass that new PictureMBS.

See also:

PictureMBS.Combine(Image As PictureMBS, Mask As PictureMBS, DestX as Integer, DestY as Integer, SourceX as Integer, SourceY as Integer, Width as Integer, Height as Integer, UseColours As Boolean, ForeColour as Integer) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 10.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Copies pixels from one picture into another picture with some options.

Returns true on success and false on failure.

This function has 4 behaviors depending on the parameters:

1. If mask is nil and no ForeColour and MaskColour values are passed, the pixels a copied to the destination picture.

2. But if there is a mask, the pixels are copied with applying the mask.

3. If the mask color is not defined, the the pixels are filled with the fore color applying the mask.

4. As the last variation the pixels are copied and the forecolor, the mask color or black is used with the image as the mask. If UseColours parameter is false black is used for this.

Parameters:
Image: the source picture, must not be nil.
PreMultipliedSource: Optional parameter. If true the image must be premultiplied. Default is false.
Mask: the mask picture, can be nil.
DestX: destination position
DestY: destination position
SourceX: source position
SourceY: source position
Width: width of the area to copy
Height: height of the area to copy
UseColours: whether to use the mask colour.
ForeColour: the fore colour, optional, can be integer or color
MaskColour: the mask color, optional, can be integer or color

This function is 5 times in the plugin defined to implement having the last two parameters optional and either integer or color. You can pass a negative number for MaskColour or ForeColour to disable this parameter.

The images you use can be Gray, RGB with or without alpha channels. But most variants here ignore alpha channels. To make sure the alpha channel is not touched, use the PictureMBS.RGBChannels function and pass that new PictureMBS.

See also:

PictureMBS.Combine(Image As PictureMBS, Mask As PictureMBS, DestX as Integer, DestY as Integer, SourceX as Integer, SourceY as Integer, Width as Integer, Height as Integer, UseColours As Boolean, ForeColour as Integer, MaskColour as Integer) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 10.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Copies pixels from one picture into another picture with some options.

Returns true on success and false on failure.

This function has 4 behaviors depending on the parameters:

1. If mask is nil and no ForeColour and MaskColour values are passed, the pixels a copied to the destination picture.

2. But if there is a mask, the pixels are copied with applying the mask.

3. If the mask color is not defined, the the pixels are filled with the fore color applying the mask.

4. As the last variation the pixels are copied and the forecolor, the mask color or black is used with the image as the mask. If UseColours parameter is false black is used for this.

Parameters:
Image: the source picture, must not be nil.
PreMultipliedSource: Optional parameter. If true the image must be premultiplied. Default is false.
Mask: the mask picture, can be nil.
DestX: destination position
DestY: destination position
SourceX: source position
SourceY: source position
Width: width of the area to copy
Height: height of the area to copy
UseColours: whether to use the mask colour.
ForeColour: the fore colour, optional, can be integer or color
MaskColour: the mask color, optional, can be integer or color

This function is 5 times in the plugin defined to implement having the last two parameters optional and either integer or color. You can pass a negative number for MaskColour or ForeColour to disable this parameter.

The images you use can be Gray, RGB with or without alpha channels. But most variants here ignore alpha channels. To make sure the alpha channel is not touched, use the PictureMBS.RGBChannels function and pass that new PictureMBS.

See also:

PictureMBS.Combine(Image As PictureMBS, PreMultipliedSource as boolean, Mask As PictureMBS, DestX as Integer, DestY as Integer, SourceX as Integer, SourceY as Integer, Width as Integer, Height as Integer, UseColours As Boolean) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 10.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Copies pixels from one picture into another picture with some options.
Example
Var DestImage As PictureMBS
Var Image As PictureMBS
Var Mask As PictureMBS
Var DestX as Integer=100
Var DestY as Integer=100
Var SourceX as Integer=0
Var SourceY as Integer=0
Var Width as Integer=500
Var Height as Integer=500

// we create a little mask for a smooth fade
Var m as Picture = New Picture(500,500,32)
Var g as Graphics = m.Graphics

for y as Integer = 0 to 499
Var n as Integer = y*255/499
g.ForeColor = rgb(n, n, n)
g.DrawLine 0,y,499,y
next

// uncomment to see our mask:
'Backdrop = m
'return

image=new PictureMBS(LogoMBS(500))
Mask=new PictureMBS(m)
DestImage=new PictureMBS(700,700,PictureMBS.ImageFormatRGB)

// this will only copy the pixels
if DestImage.Combine(image,false,Mask,DestX,DestY,SourceX,SourceY,Width,Height,false) then
window1.Backdrop=DestImage.CopyPicture
end if

Returns true on success and false on failure.

This function has 4 behaviors depending on the parameters:

1. If mask is nil and no ForeColour and MaskColour values are passed, the pixels a copied to the destination picture.

2. But if there is a mask, the pixels are copied with applying the mask.

3. If the mask color is not defined, the the pixels are filled with the fore color applying the mask.

4. As the last variation the pixels are copied and the forecolor, the mask color or black is used with the image as the mask. If UseColours parameter is false black is used for this.

Parameters:
Image: the source picture, must not be nil.
PreMultipliedSource: Optional parameter. If true the image must be premultiplied. Default is false.
Mask: the mask picture, can be nil.
DestX: destination position
DestY: destination position
SourceX: source position
SourceY: source position
Width: width of the area to copy
Height: height of the area to copy
UseColours: whether to use the mask colour.
ForeColour: the fore colour, optional, can be integer or color
MaskColour: the mask color, optional, can be integer or color

This function is 5 times in the plugin defined to implement having the last two parameters optional and either integer or color. You can pass a negative number for MaskColour or ForeColour to disable this parameter.

The images you use can be Gray, RGB with or without alpha channels. But most variants here ignore alpha channels. To make sure the alpha channel is not touched, use the PictureMBS.RGBChannels function and pass that new PictureMBS.

See also:

PictureMBS.Combine(Image As PictureMBS, PreMultipliedSource as boolean, Mask As PictureMBS, DestX as Integer, DestY as Integer, SourceX as Integer, SourceY as Integer, Width as Integer, Height as Integer, UseColours As Boolean, ForeColour As color) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method Large Picture MBS Images Plugin 10.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Copies pixels from one picture into another picture with some options.

Returns true on success and false on failure.

This function has 4 behaviors depending on the parameters:

1. If mask is nil and no ForeColour and MaskColour values are passed, the pixels a copied to the destination picture.

2. But if there is a mask, the pixels are copied with applying the mask.

3. If the mask color is not defined, the the pixels are filled with the fore color applying the mask.

4. As the last variation the pixels are copied and the forecolor, the mask color or black is used with the image as the mask. If UseColours parameter is false black is used for this.

Parameters:
Image: the source picture, must not be nil.
PreMultipliedSource: Optional parameter. If true the image must be premultiplied. Default is false.
Mask: the mask picture, can be nil.
DestX: destination position
DestY: destination position
SourceX: source position
SourceY: source position
Width: width of the area to copy
Height: height of the area to copy
UseColours: whether to use the mask colour.
ForeColour: the fore colour, optional, can be integer or color
MaskColour: the mask color, optional, can be integer or color

This function is 5 times in the plugin defined to implement having the last two parameters optional and either integer or color. You can pass a negative number for MaskColour or ForeColour to disable this parameter.

The images you use can be Gray, RGB with or without alpha channels. But most variants here ignore alpha channels. To make sure the alpha channel is not touched, use the PictureMBS.RGBChannels function and pass that new PictureMBS.

See also:

Next items

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


The biggest plugin in space...