Platforms to show: All Mac Windows Linux Cross-Platform

Back to GM16ImageMBS class.

Previous items Next items

GM16ImageMBS.pixelColor(x as UInt32, y as UInt32) as GM16ColorMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
property GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ Yes ✅ Yes ✅ Yes ✅ Yes All
Get/set pixel color at location x & y.
Example
dim p as Picture = LogoMBS(500)
dim image as new GM16ImageMBS(p)
dim c as new GM16ColorMBS("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)

GM16ImageMBS.profile(name as string) as GM16BlobMBS

Type Topic Plugin Version macOS Windows Linux iOS Targets
property GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ 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 GM16ImageMBS(item)

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

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

// remove metadata
Dim empty As New GM16BlobMBS
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)

GM16ImageMBS.quantize(measureError as boolean=false)

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

image.quantize

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

Set measureError to true in order to calculate error attributes.

GM16ImageMBS.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 GM16ImageMBS(f)

const AddQuantumOp = 1
const ThresholdQuantumOp = 10

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

// show
me.Backdrop = g.CopyPicture

See also:

GM16ImageMBS.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:

GM16ImageMBS.raiseImage

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ 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 GM16ImageMBS(p)

image.raiseImage

Backdrop=image.CopyPicture

See also:

GM16ImageMBS.raiseImage(geometry as GM16GeometryMBS, raisedFlag as boolean=false)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ 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 GM16ImageMBS(p)

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

Backdrop=image.CopyPicture

See also:

GM16ImageMBS.randomThreshold(thresholds as GM16GeometryMBS)

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

image.randomThreshold(GM16GeometryMBS.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.

GM16ImageMBS.randomThresholdChannel(thresholds as GM16GeometryMBS, channel as Integer)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ 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.

GM16ImageMBS.read(blob as GM16BlobMBS)

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 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 GM16ImageMBS
dim blob as new GM16BlobMBS(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:

GM16ImageMBS.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 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.reduceNoise

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ 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 GM16ImageMBS(p)

image.reduceNoise

Backdrop=image.CopyPicture

See also:

GM16ImageMBS.reduceNoise(order as Double)

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

See also:

GM16ImageMBS.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.

GM16ImageMBS.resize(geo as GM16GeometryMBS)

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 GM16ImageMBS(f)

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

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

Same result as 'zoom' method.

See also:

GM16ImageMBS.resize(geo as GM16GeometryMBS, 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 GM16ImageMBS(f)

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

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

See also:

GM16ImageMBS.resize(geo as GM16GeometryMBS, 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 GM16ImageMBS(f)

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

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

See also:

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

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ 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 GM16ImageMBS(p)

image.roll(30,30)

Backdrop=image.CopyPicture

See also:

GM16ImageMBS.roll(roll as GM16GeometryMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ 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 GM16ImageMBS(p)

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

Backdrop=image.CopyPicture

See also:

GM16ImageMBS.rotate(degree as Double)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ 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 GM16ImageMBS(p)

image.rotate(30)

Backdrop=image.CopyPicture

GM16ImageMBS.sample(geometry as GM16GeometryMBS)

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

image.sample GM16GeometryMBS.make(100,100)

Backdrop=image.CopyPicture

GM16ImageMBS.scale(geometry as GM16GeometryMBS)

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ 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 GM16ImageMBS(p)

image.scale new GM16GeometryMBS(100,100)

Backdrop=image.CopyPicture

GM16ImageMBS.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 14.1 ✅ 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 GM16ImageMBS(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.

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

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

e.g. x=0.15, y=0.06

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

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

e.g. x=0.3, y=0.6

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

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

e.g. x=0.64, y=0.33

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

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

e.g. x=0.3127, y=0.329

GM16ImageMBS.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.

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

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

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

Type Topic Plugin Version macOS Windows Linux iOS Targets
method GraphicsMagick MBS GraphicsMagick Plugin 14.1 ✅ 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 GM16ImageMBS( new GM16GeometryMBS(p.Width, p.Height), new GM16ColorGrayMBS(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)

GM16ImageMBS.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 GM16ImageMBS(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.

GM16ImageMBS.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.

GM16ImageMBS.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 14.1 ✅ 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...