Platforms to show: All Mac Windows Linux Cross-Platform

Back to GMImageMBS class.

Previous items Next items

GMImageMBS.pixelColor(x as UInt32, y as UInt32) as GMColorMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
property GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Get/set pixel color at location x & y.
Example
dim p as Picture = LogoMBS(500)
dim image as new GMImageMBS(p)
dim c as new GMColorMBS("red")

for x as Integer = 240 to 260
image.pixelColor(x,250)=c
next

for y as Integer = 240 to 260
image.pixelColor(250,y)=c
next

Backdrop=image.CopyPicture

(Read and Write computed property)

GMImageMBS.profile(name as string) as GMBlobMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
property GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Get or set a named profile.
Example

Dim item As FolderItem = SpecialFolder.Desktop.Child("test.jpeg")
Dim p As New GMImageMBS(item)

// scale image
p.quality = 95
p.scale New GMGeometryMBS(1000,1000)

// change resolution
p.density = New GMGeometryMBS(300, 300)
p.resolutionUnits = p.PixelsPerInchResolution

// remove metadata
Dim empty As New GMBlobMBS
p.profile("EXIF") = empty
p.profile("IPTC") = empty
p.profile("XMP") = empty

Dim out As FolderItem = SpecialFolder.Desktop.Child("output.jpeg")
p.write out

Add or remove a named profile to/from the image. Remove the profile by passing an empty Blob (e.g. Blob()). Valid names are "*", "8BIM", "ICM", "IPTC", or a user/format-defined profile name.

Retrieve a named profile from the image. Valid names are: "8BIM", "8BIMTEXT", "APP1", "APP1JPEG", "ICC", "ICM", & "IPTC" or an existing user/format-defined profile name
(Read and Write computed property)

GMImageMBS.quantize(measureError as boolean=false)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Quantize image (reduce number of colors).
Example
dim p as Picture = LogoMBS(500)
dim image as new GMImageMBS(p)

image.quantize

image.type = image.TrueColorType
Backdrop=image.CopyPicture

Set measureError to true in order to calculate error attributes.

GMImageMBS.quantumOperator(channel as Integer, Operator as Integer, rvalue as Double)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 16.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Apply an arithmetic or bitwise operator to the image pixel quantums.
Example
dim f as FolderItem = SpecialFolder.Desktop.Child("test.jpg")
dim g as new GMImageMBS(f)

const AddQuantumOp = 1
const ThresholdQuantumOp = 10

g.quantumOperator( g.AllChannels, AddQuantumOp, 100)

// show
me.Backdrop = g.CopyPicture

See also:

GMImageMBS.quantumOperator(x as Integer, y as Integer, columns as Integer, rows as Integer, channel as Integer, Operator as Integer, rvalue as Double)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 16.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Apply an arithmetic or bitwise operator to the image pixel quantums.

See also:

GMImageMBS.raiseImage

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Raise image (lighten or darken the edges of an image to give a 3-D raised or lowered effect).
Example
dim p as Picture = LogoMBS(500)
dim image as new GMImageMBS(p)

image.raiseImage

Backdrop=image.CopyPicture

See also:

GMImageMBS.raiseImage(geometry as GMGeometryMBS, raisedFlag as boolean=false)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Raise image (lighten or darken the edges of an image to give a 3-D raised or lowered effect).
Example
dim p as Picture = LogoMBS(500)
dim image as new GMImageMBS(p)

image.raiseImage(GMGeometryMBS.Make(5,8))

Backdrop=image.CopyPicture

See also:

GMImageMBS.randomThreshold(thresholds as GMGeometryMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Random threshold image.
Example
dim p as Picture = LogoMBS(500)
dim image as new GMImageMBS(p)

image.randomThreshold(GMGeometryMBS.make("50x200"))

image.type = image.TrueColorType
Backdrop=image.CopyPicture

Changes the value of individual pixels based on the intensity of each pixel compared to a random threshold. The result is a low-contrast, two color image. The thresholds argument is a geometry containing LOWxHIGH thresholds. If the string contains 2x2, 3x3, or 4x4, then an ordered dither of order 2, 3, or 4 will be performed instead. If a channel argument is specified then only the specified channel is altered. This is a very fast alternative to 'quantize' based dithering.

GMImageMBS.randomThresholdChannel(thresholds as GMGeometryMBS, channel as Integer)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Random threshold image channel.

Changes the value of individual pixels based on the intensity of each pixel compared to a random threshold. The result is a low-contrast, two color image. The thresholds argument is a geometry containing LOWxHIGH thresholds. If the string contains 2x2, 3x3, or 4x4, then an ordered dither of order 2, 3, or 4 will be performed instead. If a channel argument is specified then only the specified channel is altered. This is a very fast alternative to 'quantize' based dithering.

GMImageMBS.read(blob as GMBlobMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Read single image frame from in-memory Blob.
Example
// get some image data (e.g. from blob in database)
dim logo as Picture = LogoMBS(500)
dim jpegData as string = PictureToJPEGStringMBS(logo, 80)

// new image
Dim mp as new GMImageMBS
dim blob as new GMBlobMBS(jpegData)

// read data from blob into this image object
mp.Read blob

// sometimes you need to explicit convert to RGB/RGBA
'mp.type = mp.TrueColorMatteType
Backdrop=mp.CombinePictureWithMask

See also:

GMImageMBS.read(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
Read single image frame from an array of raw pixels, with specified storage type (ConstituteImage).

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 GMImageMBS(640, 480, "RGB", GMImageMBS.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:

GMImageMBS.reduceNoise

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Reduce noise in image using a noise peak elimination filter.
Example
dim p as Picture = LogoMBS(500)
dim image as new GMImageMBS(p)

image.reduceNoise

Backdrop=image.CopyPicture

See also:

GMImageMBS.reduceNoise(order as Double)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Reduce noise in image using a noise peak elimination filter.

See also:

GMImageMBS.repage

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 19.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Resets the image page canvas and position.

GMImageMBS.resize(geo as GMGeometryMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 19.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Resize image, specifying only geometry, with filter and blur obtained from Image default.
Example
dim f as folderitem = SpecialFolder.Desktop.Child("test.jpg")
dim image as new GMImageMBS(f)

// resize proportionally to fit
dim geo as new GMGeometryMBS(500,500)
image.resize geo

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

Same result as 'zoom' method.

See also:

GMImageMBS.resize(geo as GMGeometryMBS, filterType as Integer)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 19.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Resize image, specifying geometry and filter, with blur using Image default.
Example
dim f as folderitem = SpecialFolder.Desktop.Child("test.jpg")
dim image as new GMImageMBS(f)

// resize proportionally to fit
dim geo as new GMGeometryMBS(500,500)
image.resize geo, image.CubicFilter

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

See also:

GMImageMBS.resize(geo as GMGeometryMBS, filterType as Integer, blur as double)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 19.0 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Resize image, specifying geometry, filter, and blur.
Example
dim f as folderitem = SpecialFolder.Desktop.Child("test.jpg")
dim image as new GMImageMBS(f)

// resize proportionally to fit
dim geo as new GMGeometryMBS(500,500)
image.resize geo, image.CubicFilter, 3

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

See also:

GMImageMBS.roll(columns as UInt32, rows as UInt32)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Roll image (rolls image vertically and horizontally) by specified number of columnms and rows).
Example
dim p as Picture = LogoMBS(500)
dim image as new GMImageMBS(p)

image.roll(30,30)

Backdrop=image.CopyPicture

See also:

GMImageMBS.roll(roll as GMGeometryMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Roll image (rolls image vertically and horizontally) by specified number of columnms and rows).
Example
dim p as Picture = LogoMBS(500)
dim image as new GMImageMBS(p)

image.roll(GMGeometryMBS.Make(0,0,30,30))

Backdrop=image.CopyPicture

See also:

GMImageMBS.rotate(degree as Double)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Rotate image counter-clockwise by specified number of degrees.
Example
dim p as Picture = LogoMBS(500)
dim image as new GMImageMBS(p)

image.rotate(30)

Backdrop=image.CopyPicture

GMImageMBS.sample(geometry as GMGeometryMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Resize image by using pixel sampling algorithm.
Example
dim p as Picture = LogoMBS(500)
dim image as new GMImageMBS(p)

image.sample GMGeometryMBS.make(100,100)

Backdrop=image.CopyPicture

GMImageMBS.scale(geometry as GMGeometryMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Resize image by using simple ratio algorithm which provides good quality.
Example
dim p as Picture = LogoMBS(500)
dim image as new GMImageMBS(p)

image.scale new GMGeometryMBS(100,100)

Backdrop=image.CopyPicture

GMImageMBS.segment(clusterThreshold as Double=1.0, smoothingThreshold as Double=1.5)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Segment (coalesce similar image components) by analyzing the histograms of the color components and identifying units that are homogeneous with the fuzzy c-means technique.
Example
dim p as Picture = LogoMBS(500)
dim image as new GMImageMBS(p)

image.segment

image.type = image.TrueColorType

Backdrop=image.CopyPicture

A histogram is built for the image. This histogram is filtered to reduce noise and a second derivative of the histogram plot is built and used to identify potential cluster colors (peaks in the histogram). The cluster colors are then validated by scanning through all of the pixels to see how many pixels fall within each cluster. Some candidate cluster colors may not match any of the image pixels at all and should be discarded. Specify clusterThreshold, as the number of pixels matching a cluster color in order for the cluster to be considered valid. SmoothingThreshold eliminates noise in the second derivative of the histogram. As the value is increased, you can expect a smoother second derivative. The default is 1.5.

GMImageMBS.setChromaBluePrimary(x as Double, y as Double)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Chromaticity blue primary point.

e.g. x=0.15, y=0.06

GMImageMBS.setchromaGreenPrimary(x as Double, y as Double)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Chromaticity green primary point.

e.g. x=0.3, y=0.6

GMImageMBS.setchromaRedPrimary(x as Double, y as Double)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Chromaticity red primary point

e.g. x=0.64, y=0.33

GMImageMBS.setchromaWhitePoint(x as Double, y as Double)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Chromaticity white point

e.g. x=0.3127, y=0.329

GMImageMBS.SetEXIFOrientation(orientation as integer) as boolean

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 18.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Sets orientation for EXIF.

Changing orientation may need to set orientation via SetOrientation and SetEXIFOrientation. With a JPEG you have orientation both in JPEG header and in EXIF metadata.
Returns true for success and false for failure.

For new development, please use ExifTagsMBS class instead.

GMImageMBS.SetPicture(pic as picture, x as Integer, y as Integer)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Copies the picture into the Image at the given position.

GMImageMBS.SetPictureMask(maskpic as picture, x as Integer, y as Integer)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Copies the picture into the Image's mask at the given position.
Example
// this converts 32 bit PNG with alpha channel to BMP

dim f as FolderItem = SpecialFolder.Desktop.Child("test.png")
dim p as Picture = Picture.Open(f)

dim g as new GMImageMBS( new GMGeometryMBS(p.Width, p.Height), new GMColorGrayMBS(1.0))

g.type = g.TrueColorMatteType
g.matte = True
g.magick = "BMP"

g.SetPicture(p, 0, 0)
g.SetPictureMask(p.mask.invertMBS, 0, 0)

f = SpecialFolder.Desktop.Child("test.bmp")
g.write(f)

GMImageMBS.setPixels(x as Integer, y as Integer, columns as Integer, rows as Integer) as Ptr

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 16.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Allocates a pixel cache region to store image pixels as defined by the region rectangle.
Example
dim f as FolderItem = SpecialFolder.Desktop.Child("test.jpg")
dim g as new GMImageMBS(f)

// get pointer to some pixels to write
dim x as ptr = g.setPixels(0, 0, 100, 100)

// draw a red line to the pixel buffer
dim o as Integer
for i as Integer = 0 to 99
o = 100 * i + i
x.UInt32(o * 4) = &hFFFF0000
next

// write back
g.syncPixels

// show
me.Backdrop = g.CopyPicture

This area is subsequently transferred from the pixel cache to the image via syncPixels.

GMImageMBS.setStrokeDashArray(values() as Double)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 16.4 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Sets stroke dash pattern.

Specify the pattern of dashes and gaps used to stroke paths. The strokeDashArray represents a zero-terminated array of numbers that specify the lengths of alternating dashes and gaps in pixels. If an odd number of values is provided, then the list of values is repeated to yield an even number of values. A typical strokeDashArray array might contain the members 5 3 2 0, where the zero value indicates the end of the pattern array.

GMImageMBS.shade(azimuth as Double=30.0, elevation as Double=30.0, colorShading as boolean=false)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 9.3 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Shade image using distant light source.

Specify azimuth and elevation as the position of the light source. By default, the shading results as a grayscale image.. Set colorShading to true to shade the red, green, and blue components of the image.

Previous items Next items

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


The biggest plugin in space...