Platforms to show: All Mac Windows Linux Cross-Platform

Back to GM16ImageMBS class.

Previous items Next items

GM16ImageMBS.Constructor(size as GM16GeometryMBS, ColorValue as GM16ColorMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Construct a blank image canvas of specified size and color.
Example
dim g as new GM16GeometryMBS(600,600)
dim c as new GM16ColorRGBMBS(1.0,0.0,0.0) // red
dim image as new GM16ImageMBS(g, c)

const TrueColorType=6

// Ensure that there are no other references to this image.
image.modifyImage
// Set the image type to TrueColor DirectClass representation.
image.type=TrueColorType

Backdrop=image.CopyPicture(0,0,600,600)

See also:

GM16ImageMBS.Constructor(width as UInt32, height as UInt32, map as string, StorageType as Integer, data as ptr)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Initializes single image frame from an array of raw pixels, with specified storage type (ConstituteImage).
Example
dim data as new memoryblock(2048*2048) // your data
dim image as new GM16ImageMBS(2048, 2048, "I", GM16ImageMBS.StorageTypeCharPixel, data)

Returns an Image corresponding to an image stored in a raw memory array format. The pixel data must be in scanline order top-to-bottom. The data can be unsigned char, unsigned short int, unsigned int, unsigned long, float, or double. Float and double require the pixels to be normalized to the range [0..1], otherwise the range is [0..MaxVal] where MaxVal is the maximum possible value for that type.

Note that for most 32-bit architectures the size of an unsigned long is the same as unsigned int, but for 64-bit architectures observing the LP64 standard, an unsigned long is 64 bits, while an unsigned int remains 32 bits. This should be considered when deciding if the data should be described as "Integer" or "Long".

For example, to create a 640x480 image from unsigned red-green-blue character data, use

image = new GM16ImageMBS(640, 480, "RGB", GM16ImageMBS.StorageTypeCharPixel, pixels);

width: width in pixels of the image.
height: height in pixels of the image.
map: This string reflects the expected ordering of the pixel array. It can be any combination or order of R = red, G = green, B = blue, A = alpha (same as Transparency), O = Opacity, T = Transparency, C = cyan, Y = yellow, M = magenta, K = black, or I = intensity (for grayscale). Specify "P" = pad, to skip over a quantum which is intentionally ignored. Creation of an alpha channel for CMYK images is currently not supported.
type: Define the data type of the pixels. Float and double types are expected to be normalized [0..1] otherwise [0..MaxRGB]. Choose from these types: StorageTypeCharPixel, StorageTypeShortPixel, StorageTypeIntegerPixel, StorageTypeLongPixel, StorageTypeFloatPixel, or StorageTypeDoublePixel.
pixels: This array of values contain the pixel components as defined by map and type. You must preallocate this array where the expected length varies depending on the values of width, height, map, and type.

See also:

GM16ImageMBS.contrast(sharpen as UInt32)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Contrast image (enhance intensity differences in image).
Example
dim p as Picture = LogoMBS(500)
dim image as new GM16ImageMBS(p)

image.contrast(10)

Backdrop=image.CopyPicture

GM16ImageMBS.convolve(order as Integer, ColorMatrix() as Double)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 16.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Convolve image.
Example
dim f as FolderItem = SpecialFolder.Desktop.Child("test.jpg")
dim g as new GM16ImageMBS(f)

dim m(8) as Double

m(0) = 0.25
m(1) = 0
m(2) = 0.25

m(3) = 0
m(4) = 0
m(5) = 0

m(6) = 0.25
m(7) = 0
m(8) = 0.25

g.convolve 3, m

Backdrop = g.CopyPicture

Applies a user-specified convolution to the image.
order represents the number of columns and rows in the filter kernel.
kernel is an array of doubles representing the convolution kernel.

GM16ImageMBS.CopyPicture as picture

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a copy of the image and returns it as a new picture.
Example
dim g as new GM16GeometryMBS(500,500)
dim c as new GM16ColorRGBMBS("white") // white
dim image as new GM16ImageMBS(g, c)

image.strokeColor = new GM16ColorRGBMBS("red") // Outline color
image.fillColor = new GM16ColorRGBMBS("green") // Fill color
image.strokeWidth = 5

dim draw as GM16GraphicsMBS = image.Graphics

// Draw a circle
draw.Rectangle(250, 250, 100, 100)

Backdrop=image.CopyPicture

You may need to set image type to RGB to get it working.

See also:

GM16ImageMBS.CopyPicture(x as Integer, y as Integer, width as Integer, height as Integer) as picture

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a copy of the image and returns it as a new picture.
Example
dim p as Picture = LogoMBS(500)
dim image as new GM16ImageMBS(p)

image.threshold 127

// convert to RGB so CopyPicture works
image.type = image.TrueColorType
Backdrop=image.CopyPicture(0,0,250,250)

You may need to set image type to RGB to get it working.

See also:

GM16ImageMBS.CopyPictureMask as picture

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a copy of the image's mask and returns it as a new picture.
Example
Dim f As FolderItem = SpecialFolder.Desktop.Child("test.png")
Dim g As New GM16ImageMBS(f)

// get image with mask
Dim p As picture = g.CopyPicture
p.mask = g.CopyPictureMask

window1.Backdrop = p

See also:

GM16ImageMBS.CopyPictureMask(x as Integer, y as Integer, width as Integer, height as Integer) as picture

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Creates a copy of the image's mask and returns it as a new picture.

See also:

GM16ImageMBS.CopyPixelsMemory as Memoryblock

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 15.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Copy the pixels as they are into a memoryblock.

Optional specify rectangle.
Returns nil on low memory or bad parameter. Image must be of type class direct (not palette picture).
Order of pixel data is normally Red, Green, Blue, Opacity. Or Cyan, Magenta, Yellow, Black for CMYK images.
For GM16ImageMBS, the data is 8bit per channel. For GMImage16MBS, the data is 16bit per channel.

See also:

GM16ImageMBS.CopyPixelsMemory(x as Integer, y as Integer, width as Integer, height as Integer) as Memoryblock

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 15.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Copy the pixels as they are into a memoryblock.

Optional specify rectangle.
Returns nil on low memory or bad parameter. Image must be of type class direct (not palette picture).
Order of pixel data is normally Red, Green, Blue, Opacity. Or Cyan, Magenta, Yellow, Black for CMYK images.
For GM16ImageMBS, the data is 8bit per channel. For GMImage16MBS, the data is 16bit per channel.

See also:

GM16ImageMBS.CreateHBITMAP as Ptr

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 15.1 ❌ No ✅ Yes ❌ No ❌ No All
Creates a HBITMAP for the image for use with Windows Declares.
Example
// get test image
dim logo as Picture = LogoMBS(500)

// create GraphicsMagick image
dim g as new GM16ImageMBS(logo)

// make a HBitmap
dim hBitmap as ptr = g.CreateHBITMAP

// convert back to Xojo picture
dim pic as Picture = WindowsBitmapMBS.HBitmapToPicture(hBitmap, true)

// show in window
Backdrop = pic

// and cleanup memory
WindowsBitmapMBS.DeleteBitmap(hBitmap)

The HBITMAP returned needs to be freed when you are done with it or you risk having a memory leak.

GM16ImageMBS.crop(geometry as GM16GeometryMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Crop image (return subregion of original image).
Example
dim p as Picture = LogoMBS(500)
dim image as new GM16ImageMBS(p)

image.crop GM16GeometryMBS.Make(100,200)

Backdrop=image.CopyPicture

GM16ImageMBS.cycleColormap(amount as Integer)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Cycle (rotate) image colormap.
Example
dim p as Picture = LogoMBS(500)
dim image as new GM16ImageMBS(p)

image.cycleColormap(5)

image.type = image.TrueColorType

Backdrop=image.CopyPicture

GM16ImageMBS.defineSet(magick as string, key as string) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
property GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Set or obtain a definition flag to applied when encoding or decoding the specified format.

Similar to the defineValue() method except that passing the flag value 'true' creates a value-less define with that format and key. Passing the flag value 'false' removes any existing matching definition. The method returns 'true' if a matching key exists, and 'false' if no matching key exists.
(Read and Write computed property)

GM16ImageMBS.defineValue(magick as string, key as string) as string

Type Topic Plugin Version macOS Windows Linux iOS Targets
property GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Set or obtain a definition string to applied when encoding or decoding the specified format.

The meanings of the definitions are format specific. The format is designated by the magick argument, the format-specific key is designated by key, and the associated value is specified by value. See the defineSet() method if the key must be removed entirely.
(Read and Write computed property)

GM16ImageMBS.Describe(verbose as Integer = 1) as String

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 23.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Describes an image by printing its attributes.
Example

Dim f As FolderItem = FindFile("test.jpg")

Dim g As New GM16ImageMBS(f)
Dim s As String = g.Describe(2)
Break

Attributes include the image width, height, size, and others.

verbose: Whether output should be verbose.
Default is 1. Pass 0 to get a shorted output.
Pass 2 to count the number of colors in the image.

GM16ImageMBS.despeckle

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Despeckle image (reduce speckle noise).
Example
dim p as Picture = LogoMBS(500)
dim image as new GM16ImageMBS(p)

image.despeckle

Backdrop=image.CopyPicture

GM16ImageMBS.display

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Display image on screen.

Caution: if an image format is is not compatible with the display visual (e.g. JPEG on a colormapped display) then the original image will be altered. Use a copy of the original if this is a problem.

The plugin is not compiled with X11 so this call may not be useful.

GM16ImageMBS.edge(radius as Double=0.0)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Edge image (hilight edges in image).
Example
dim p as Picture = LogoMBS(500)
dim image as new GM16ImageMBS(p)

image.edge

Backdrop=image.CopyPicture

The radius is the radius of the pixel neighborhood. Specify a radius of zero for automatic radius selection.

GM16ImageMBS.emboss(radius as Double=0.0, sigma as Double=1.0)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Emboss image (hilight edges with 3D effect).
Example
dim p as Picture = LogoMBS(500)
dim image as new GM16ImageMBS(p)

image.emboss

Backdrop=image.CopyPicture

The radius parameter specifies the radius of the Gaussian, in pixels, not counting the center pixel. The sigma parameter specifies the standard deviation of the Laplacian, in pixels.

GM16ImageMBS.enhance

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Enhance image (minimize noise).
Example
dim p as Picture = LogoMBS(500)
dim image as new GM16ImageMBS(p)

image.enhance

Backdrop=image.CopyPicture

GM16ImageMBS.erase

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Set all image pixels to the current background color.

GM16ImageMBS.extent(geo as GM16GeometryMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 19.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Create an image canvas using background color sized according to geometry and composite existing image on it, with image placement controlled by gravity.
Example
dim f as folderitem = SpecialFolder.Desktop.Child("test.jpg")
dim image as new GM16ImageMBS(f)

// extend image to fit
dim geo as new GM16GeometryMBS(500,500)
image.extent geo

window1.Title = image.formatExpression("%wx%h")
window1.Backdrop = image.CopyPicture

Parameters are obtained from existing image properties if they are not specified via a method parameter. Parameters which are supported by image properties (gravity and backgroundColor) update those image properties as a side-effect.

See also:

GM16ImageMBS.extent(geo as GM16GeometryMBS, backgroundColor as GM16ColorMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 19.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Create an image canvas using background color sized according to geometry and composite existing image on it, with image placement controlled by gravity.
Example
dim f as folderitem = SpecialFolder.Desktop.Child("test.jpg")
dim image as new GM16ImageMBS(f)

// extend image to fit
dim geo as new GM16GeometryMBS(500,500)
dim col as GM16ColorMBS = GM16ColorMBS.Black
image.extent geo, col

window1.Title = image.formatExpression("%wx%h")
window1.Backdrop = image.CopyPicture

Parameters are obtained from existing image properties if they are not specified via a method parameter. Parameters which are supported by image properties (gravity and backgroundColor) update those image properties as a side-effect.

See also:

GM16ImageMBS.extent(geo as GM16GeometryMBS, backgroundColor as GM16ColorMBS, gravity as Integer)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 19.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Create an image canvas using background color sized according to geometry and composite existing image on it, with image placement controlled by gravity.
Example
dim f as folderitem = SpecialFolder.Desktop.Child("test.jpg")
dim image as new GM16ImageMBS(f)

// extend image to fit
dim geo as new GM16GeometryMBS(500,500)
dim col as GM16ColorMBS = GM16ColorMBS.Black
image.extent geo, col

window1.Title = image.formatExpression("%wx%h")
window1.Backdrop = image.CopyPicture

Parameters are obtained from existing image properties if they are not specified via a method parameter. Parameters which are supported by image properties (gravity and backgroundColor) update those image properties as a side-effect.

See also:

GM16ImageMBS.extent(geo as GM16GeometryMBS, gravity as Integer)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 19.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Create an image canvas using background color sized according to geometry and composite existing image on it, with image placement controlled by gravity.
Example
dim f as folderitem = SpecialFolder.Desktop.Child("test.jpg")
dim image as new GM16ImageMBS(f)

// resize proportionally to fit
dim geo as new GM16GeometryMBS(500,500)
image.extent geo, image.CenterGravity

window1.Title = image.formatExpression("%wx%h")
window1.Backdrop = image.CopyPicture

Parameters are obtained from existing image properties if they are not specified via a method parameter. Parameters which are supported by image properties (gravity and backgroundColor) update those image properties as a side-effect.

See also:

GM16ImageMBS.flip

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Flip image (reflect each scanline in the vertical direction).
Example
dim p as Picture = LogoMBS(500)
dim image as new GM16ImageMBS(p)

image.flip

Backdrop=image.CopyPicture

GM16ImageMBS.floodFillColor(point as GM16GeometryMBS, fillColor as GM16ColorMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Flood-fill color across pixels that match the color of the target pixel and are neighbors of the target pixel.

Uses current fuzz setting when determining color match.

See also:

GM16ImageMBS.floodFillColor(point as GM16GeometryMBS, fillColor as GM16ColorMBS, borderColor as GM16ColorMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Flood-fill color across pixels starting at target-pixel and stopping at pixels matching specified border color.

Uses current fuzz setting when determining color match:

See also:

GM16ImageMBS.floodFillColor(x as UInt32, y as UInt32, fillColor as GM16ColorMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Flood-fill color across pixels that match the color of the target pixel and are neighbors of the target pixel.

Uses current fuzz setting when determining color match.

See also:

GM16ImageMBS.floodFillColor(x as UInt32, y as UInt32, fillColor as GM16ColorMBS, borderColor as GM16ColorMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Flood-fill color across pixels starting at target-pixel and stopping at pixels matching specified border color.

Uses current fuzz setting when determining color match:

See also:

GM16ImageMBS.floodFillOpacity(x as UInt32, y as UInt32, opacity as UInt32, PaintMethod as Integer)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Flood-fill pixels matching color (within fuzz factor) of target pixel(x,y) with replacement opacity value using method.

GM16ImageMBS.floodFillTexture(point as GM16GeometryMBS, fillColor as GM16ColorMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Flood-fill texture across pixels that match the color of the target pixel and are neighbors of the target pixel.

Uses current fuzz setting when determining color match.

See also:

GM16ImageMBS.floodFillTexture(point as GM16GeometryMBS, fillColor as GM16ColorMBS, borderColor as GM16ColorMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Flood-fill texture across pixels starting at target-pixel and stopping at pixels matching specified border color.

Uses current fuzz setting when determining color match.

See also:

GM16ImageMBS.floodFillTexture(x as UInt32, y as UInt32, fillColor as GM16ColorMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Flood-fill texture across pixels that match the color of the target pixel and are neighbors of the target pixel.

Uses current fuzz setting when determining color match.

See also:

GM16ImageMBS.floodFillTexture(x as UInt32, y as UInt32, fillColor as GM16ColorMBS, borderColor as GM16ColorMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Flood-fill texture across pixels starting at target-pixel and stopping at pixels matching specified border color.

Uses current fuzz setting when determining color match.

See also:

Previous items Next items

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


The biggest plugin in space...