Moai SDK  2.0
MOAIImage Class Reference
+ Inheritance diagram for MOAIImage:

Function List

average
 
bleedRect
 
calculateGaussianKernel
 
compare
 
convert
 
convolve
 
convolve1D
 
copy
 
copyBits
 
copyRect
 
desaturate
 
fillCircle
 
fillEllipse
 
fillRect
 
gammaCorrection
 
generateOutlineFromSDF
 
generateSDF
 
generateSDFAA
 
generateSDFDeadReckoning
 
getColor32
 
getContentRect
 
getData
 
getFormat
 
getRGBA
 
getSize
 
init
 
isOpaque
 
load
 
loadAsync
 
loadFromBuffer
 
mix
 
padToPow2
 
print
 
resize
 
resizeCanvas
 
setColor32
 
setRGBA
 
simpleThreshold
 
subdivideRect
 
write
 

Detailed Description

Constants
MOAIImage.FILTER_LINEAR
MOAIImage.FILTER_NEAREST
FlagsDescription
MOAIImage.POW_TWO Adds padding at the right and bottom to make the image dimensions powers of 2.
MOAIImage.QUANTIZE Uses less than 8 bits per channel to reduce memory consumption.
MOAIImage.TRUECOLOR Converts palettized color formats to true color.
MOAIImage.PREMULTIPLY_ALPHA Premultiplies the pixel colors with their alpha values.
MOAIImage.PIXEL_FMT_TRUECOLOR
MOAIImage.PIXEL_FMT_INDEX_4
MOAIImage.PIXEL_FMT_INDEX_8
MOAIImage.COLOR_FMT_A_1 Alpha only, 1 bit per pixel
MOAIImage.COLOR_FMT_A_4 Alpha only, 4 bits per pixel
MOAIImage.COLOR_FMT_A_8 Alpha only, 8 bits per pixel
MOAIImage.COLOR_FMT_LA_8 Grayscale + alpha, 16 bits per pixel
MOAIImage.COLOR_FMT_RGB_888 RGB, 24 bits per pixel
MOAIImage.COLOR_FMT_RGB_565 RGB, 16 bits per pixel
MOAIImage.COLOR_FMT_RGBA_5551 RGBA, 16 bits per pixel (1 bit alpha)
MOAIImage.COLOR_FMT_RGBA_4444 RGBA, 16 bits per pixel (4 bits per channel)
MOAIImage.COLOR_FMT_RGBA_8888 RGBA, 32 bits per pixel

Function Documentation

average

Calculates the average of each color channel.


function average ( MOAIImage self )

Parameters
MOAIImageself
Returns
number averageR, number averageG, number averageB, number averageA
bleedRect

'Bleeds' the interior of the rectangle out by one pixel.


function bleedRect ( MOAIImage self, number xMin, number yMin, number xMax, number yMax )

Parameters
MOAIImageself
numberxMin
numberyMin
numberxMax
numberyMax
Returns
nil
calculateGaussianKernel

Calculate a one dimensional gaussian kernel suitable for blurring.


function calculateGaussianKernel ( MOAIImage self [, number radius, number sigma ] )

Parameters
MOAIImageself
numberradius Optional. Default valus is 1.0.
numbersigma Optional. Default valie is radius / 3 (https://en.wikipedia.org/wiki/Gaussian_blur)
Returns
nil
compare

Compares the image to another image.


function compare ( MOAIImage self, MOAIImage other )

Parameters
MOAIImageself
MOAIImageother
Returns
boolean areEqual
convert

Return a copy of the image with a new color format. Not all provided formats are supported by OpenGL. 'nil' may be passed for either value, in which case the format will match the original.


function convert ( MOAIImage self [, number colorFmt, number pixelFmt ] )

Parameters
MOAIImageself
numbercolorFmt Optional. One of MOAIImage.COLOR_FMT_A_1, MOAIImage.COLOR_FMT_A_4, MOAIImage.COLOR_FMT_A_8, MOAIImage.COLOR_FMT_RGB_888, MOAIImage.COLOR_FMT_RGB_565, MOAIImage.COLOR_FMT_RGBA_5551, MOAIImage.COLOR_FMT_RGBA_4444, COLOR_FMT_RGBA_8888
numberpixelFmt Optional. One of MOAIImage.PIXEL_FMT_TRUECOLOR, MOAIImage.PIXEL_FMT_INDEX_4, MOAIImage.PIXEL_FMT_INDEX_8
Returns
MOAIImage image
convolve

Convolve the image using a one or two dimensional kernel. If a one-dimensional kernel is provided, the image will be convolved in two passes: first horizonally and then vertically using the same kernel.


function convolve ( MOAIImage self, table kernel [, boolean normalize ] )

Parameters
MOAIImageself
tablekernel A one or two dimensional array of coefficients.
booleannormalize Optional. If true, the kernel will be normalized prior to the convolution. Default value is true.
Returns
MOAIImage image
convolve1D

Convolve the image using a one dimensional kernel.


function convolve1D ( MOAIImage self, table kernel [, boolean horizontal, boolean normalize ] )

Parameters
MOAIImageself
tablekernel A one dimensional array of coefficients.
booleanhorizontal Optional. If true, the image will be convolved horizontally. Otherwise the image will be convolved vertically. Devault value is true.
booleannormalize Optional. If true, the kernel will be normalized prior to the convolution. Default value is true.
Returns
MOAIImage image
copy

Copies an image.


function copy ( MOAIImage self )

Parameters
MOAIImageself
Returns
MOAIImage image
copyBits

Copy a section of one image to another.


function copyBits ( MOAIImage self, MOAIImage source, number srcX, number srcY, number destX, number destY, number width, number height )

Parameters
MOAIImageself
MOAIImagesource Source image.
numbersrcX X location in source image.
numbersrcY Y location in source image.
numberdestX X location in destination image.
numberdestY Y location in destination image.
numberwidth Width of section to copy.
numberheight Height of section to copy.
Returns
nil
copyRect

Copy a section of one image to another. Accepts two rectangles. Rectangles may be of different size and proportion. Section of image may also be flipped horizontally or vertically by reversing min/max of either rectangle.


function copyRect ( MOAIImage self, MOAIImage source, number srcXMin, number srcYMin, number srcXMax, number srcYMax, number destXMin, number destYMin [, number destXMax, number destYMax, number filter, number srcFactor, number dstFactor, number equation ] )

Parameters
MOAIImageself
MOAIImagesource Source image.
numbersrcXMin
numbersrcYMin
numbersrcXMax
numbersrcYMax
numberdestXMin
numberdestYMin
numberdestXMax Optional. Default value is destXMin + srcXMax - srcXMin;
numberdestYMax Optional. Default value is destYMin + srcYMax - srcYMin;
numberfilter Optional. One of MOAIImage.FILTER_LINEAR, MOAIImage.FILTER_NEAREST. Default value is MOAIImage.FILTER_LINEAR.
numbersrcFactor Optional. Default value is BLEND_FACTOR_SRC_ALPHA
numberdstFactor Optional. Default value is BLEND_FACTOR_ONE_MINUS_SRC_ALPHA
numberequation Optional. Default value is BLEND_EQ_ADD
Returns
nil
desaturate

Convert image to grayscale.


function desaturate ( MOAIImage self [, rY , gY , bY , K ] )

Parameters
MOAIImageself
rYOptional.
gYOptional.
bYOptional.
KOptional.
Returns
nil
fillCircle

Draw a filled circle.


function fillCircle ( number x, number y, number radius [, number r, number g, number b, number a ] )

Parameters
numberx
numbery
numberradius
numberr Optional. Default value is 0.
numberg Optional. Default value is 0.
numberb Optional. Default value is 0.
numbera Optional. Default value is 0.
Returns
nil
fillEllipse

Draw a filled ellipse.


function fillEllipse ( number x, number y, number radiusX, number radiusY [, number r, number g, number b, number a ] )

Parameters
numberx
numbery
numberradiusX
numberradiusY
numberr Optional. Default value is 0.
numberg Optional. Default value is 0.
numberb Optional. Default value is 0.
numbera Optional. Default value is 0.
Returns
nil
fillRect

Fill a rectangle in the image with a solid color.


function fillRect ( MOAIImage self, number xMin, number yMin, number xMax, number yMax [, number r, number g, number b, number a ] )

Parameters
MOAIImageself
numberxMin
numberyMin
numberxMax
numberyMax
numberr Optional. Default value is 0.
numberg Optional. Default value is 0.
numberb Optional. Default value is 0.
numbera Optional. Default value is 0.
Returns
nil
gammaCorrection

Apply gamma correction.


function gammaCorrection ( MOAIImage self [, number gamma ] )

Parameters
MOAIImageself
numbergamma Optional. Default value is 1.
Returns
nil
generateOutlineFromSDF

Given a rect, and min and max distance values, transform to a binary image where 0 means not on the outline and 1 means part of the outline.


function generateOutlineFromSDF ( MOAIImage self, number xMin, number yMin, number xMax, number yMax [, number distMin, number distMax, number r, number g, number b, number a ] )

Parameters
MOAIImageself
numberxMin
numberyMin
numberxMax
numberyMax
numberdistMin Optional.
numberdistMax Optional.
numberr Optional. Default value is 1.
numberg Optional. Default value is 1.
numberb Optional. Default value is 1.
numbera Optional. Default value is 1.
Returns
nil
generateSDF

Given a rect, creates a signed distance field from it.


function generateSDF ( MOAIImage self, number xMin, number yMin, number xMax, number yMax )

Parameters
MOAIImageself
numberxMin
numberyMin
numberxMax
numberyMax
Returns
nil
generateSDFAA

Given a rect, creates a signed distance field (using alpha as a mask) taking into account antialiased edges. The size of the SDF (distance from edges) is specified in pixels. Resulting SDF is stored in the image's alpha channel. Distances are normalized to the given size, inverted and scaled so that 0.5 is at an edge with 1 at full interior and 0 at full exterior (edge plus size).


function generateSDFAA ( MOAIImage self, number xMin, number yMin, number xMax, number yMax [, number sizeInPixels ] )

Parameters
MOAIImageself
numberxMin
numberyMin
numberxMax
numberyMax
numbersizeInPixels Optional. Default is 5
Returns
nil
generateSDFDeadReckoning

Given a rect, creates a signed distance field from it using dead reckoning technique.


function generateSDFDeadReckoning ( MOAIImage self, number xMin, number yMin, number xMax, number yMax [, number threshold ] )

Parameters
MOAIImageself
numberxMin
numberyMin
numberxMax
numberyMax
numberthreshold Optional. Default is 256
Returns
nil
getColor32

Returns a 32-bit packed RGBA value from the image for a given pixel coordinate.


function getColor32 ( MOAIImage self, number x, number y )

Parameters
MOAIImageself
numberx
numbery
Returns
number color
getContentRect

computes the content rect, not taking in account any boundary transparency


function getContentRect ( MOAIImage self )

Parameters
MOAIImageself
Returns
rect
getData

returns the bitmap data


function getData ( MOAIImage self )

Parameters
MOAIImageself
Returns
byte array
getFormat

Returns the color format of the image.


function getFormat ( MOAIImage self )

Parameters
MOAIImageself
Returns
number colorFormat
getRGBA

Returns an RGBA color as four floating point values.


function getRGBA ( MOAIImage self, number x, number y )

Parameters
MOAIImageself
numberx
numbery
Returns
number r, number g, number b, number a
getSize

Returns the width and height of the image.


function getSize ( MOAIImage self [, number scale ] )

Parameters
MOAIImageself
numberscale Optional.
Returns
number width, number height
init

Initializes the image with a width, height and color format.


function init ( MOAIImage self, number width, number height [, number colorFmt ] )

Parameters
MOAIImageself
numberwidth
numberheight
numbercolorFmt Optional. One of MOAIImage.COLOR_FMT_A_1, MOAIImage.COLOR_FMT_A_4, MOAIImage.COLOR_FMT_A_8, MOAIImage.COLOR_FMT_RGB_888, MOAIImage.COLOR_FMT_RGB_565, MOAIImage.COLOR_FMT_RGBA_5551, MOAIImage.COLOR_FMT_RGBA_4444, COLOR_FMT_RGBA_8888. Default value is MOAIImage.COLOR_FMT_RGBA_8888.
Returns
nil
isOpaque

false if at least one pixel is not opaque


function isOpaque ( MOAIImage self )

Parameters
MOAIImageself
Returns
bool
load

Loads an image from an image file. Depending on the build configuration, the following file formats are supported: PNG, JPG, WebP.


function load ( MOAIImage self, string filename [, number transform ] )

Parameters
MOAIImageself
stringfilename
numbertransform Optional. One of MOAIImage.POW_TWO, One of MOAIImage.QUANTIZE, One of MOAIImage.TRUECOLOR, One of MOAIImage.PREMULTIPLY_ALPHA
Returns
nil
loadAsync

Load an image asyncronously. This includes reading the file and decoding compressed data.


function loadAsync ( MOAIImage self, string filename, MOAITaskQueue queue [, function callback, number transform ] )

Parameters
MOAIImageself
stringfilename The path to the image file
MOAITaskQueuequeue The queue to peform operation on
functioncallback Optional. Callback that will receive loaded image
numbertransform Optional. One of MOAIImage.POW_TWO, MOAIImage.QUANTIZE, MOAIImage.TRUECOLOR, MOAIImage.PREMULTIPLY_ALPHA
Returns
nil
Note

function loadAsync ( MOAIImage self, MOAIDataBuffer data, MOAITaskQueue queue [, function callback, number transform ] )

Parameters
MOAIImageself
MOAIDataBufferdata Buffer containing the image data
MOAITaskQueuequeue The queue to peform operation on
functioncallback Optional. Callback that will receive loaded image
numbertransform Optional. One of MOAIImage.POW_TWO, MOAIImage.QUANTIZE, MOAIImage.TRUECOLOR, MOAIImage.PREMULTIPLY_ALPHA
Returns
nil
Note
loadFromBuffer

Loads an image from a buffer.


function loadFromBuffer ( MOAIImage self, MOAIDataBuffer buffer [, number transform ] )

Parameters
MOAIImageself
MOAIDataBufferbuffer Buffer containing the image
numbertransform Optional. One of MOAIImage.POW_TWO, One of MOAIImage.QUANTIZE, One of MOAIImage.TRUECOLOR, One of MOAIImage.PREMULTIPLY_ALPHA
Returns
nil
mix

Transforms each color by a 4x4 matrix. The default value is a 4x4 identity matrix. The transformation 'remixes' the image's channels: each new channel value is given by the sum of channels as weighted by the corresponding row of the matrix. For example, to remix the blue channel: b = r*b1 + g*b2 + b*b3 + a*b4. A row value for b of (0, 0, 1, 0) would be the identity: b = b. A row value for b of (1, 0, 0, 0) would replace b with r: b=r. A row value for b of (0.5, 0.5, 0, 0) would replace b with an even blend of r and g: b = r*05 + b*0.5. In this fashion, all channels of the image may be rearranged or blended.


function mix ( MOAIImage self [, number r1, number r2, number r3, number r4, number g1, number g2, number g3, number g4, number b1, number b2, number b3, number b4, number a1, number a2, number a3, number a4, number K ] )

Parameters
MOAIImageself
numberr1 Optional.
numberr2 Optional.
numberr3 Optional.
numberr4 Optional.
numberg1 Optional.
numberg2 Optional.
numberg3 Optional.
numberg4 Optional.
numberb1 Optional.
numberb2 Optional.
numberb3 Optional.
numberb4 Optional.
numbera1 Optional.
numbera2 Optional.
numbera3 Optional.
numbera4 Optional.
numberK Optional. Default value is 1.
Returns
nil
padToPow2

Copies an image and returns a new image padded to the next power of 2 along each dimension. Original image will be in the upper left hand corner of the new image.


function padToPow2 ( MOAIImage self )

Parameters
MOAIImageself
Returns
MOAIImage image
print

Print the image colors (for debugging purposes).


function print ( MOAIImage self )

Parameters
MOAIImageself
Returns
nil
resize

Copies the image to an image with a new size.


function resize ( MOAIImage self, number width, number height [, number filter ] )

Parameters
MOAIImageself
numberwidth New width of the image.
numberheight New height of the image.
numberfilter Optional. One of MOAIImage.FILTER_LINEAR, MOAIImage.FILTER_NEAREST. Default value is MOAIImage.FILTER_LINEAR.
Returns
MOAIImage image
resizeCanvas

Copies the image to a canvas with a new size. If the canvas is larger than the original image, the extra pixels will be initialized with 0. Pass in a new frame or just a new width and height. Negative values are permitted for the frame.


function resizeCanvas ( MOAIImage self, number width, number height )

Parameters
MOAIImageself
numberwidth New width of the image.
numberheight New height of the image.
Returns
MOAIImage image
Note

function resizeCanvas ( MOAIImage self, number xMin, number yMin, number xMax, number yMax )

Parameters
MOAIImageself
numberxMin
numberyMin
numberxMax
numberyMax
Returns
MOAIImage image
Note
setColor32

Sets 32-bit the packed RGBA value for a given pixel coordinate. Parameter will be converted to the native format of the image.


function setColor32 ( MOAIImage self, number x, number y, number color )

Parameters
MOAIImageself
numberx
numbery
numbercolor
Returns
nil
setRGBA

Sets a color using RGBA floating point values.


function setRGBA ( MOAIImage self, number x, number y, number r, number g, number b [, number a ] )

Parameters
MOAIImageself
numberx
numbery
numberr
numberg
numberb
numbera Optional. Default value is 1.
Returns
nil
simpleThreshold

This is a 'naive' threshold implementation that forces image color channels to 0 or 1 based on a per-channel threshold value. The channel value must be entirely greater that the threshold to be promoted to a value of 1. This means a threshold value of 1 will always result in a channel value of 0.


function simpleThreshold ( MOAIImage self [, number r, number g, number b, number a ] )

Parameters
MOAIImageself
numberr Optional. Default value is 0.
numberg Optional. Default value is 0.
numberb Optional. Default value is 0.
numbera Optional. Default value is 0.
Returns
nil
subdivideRect

Convenience method. Here for now as a class method, but maybe should move to MOAIGrid. Subdivides a rectangle given a tile width and height. A table of tile rectangles will be returned. The tiles will be clipped to the original rect.


function subdivideRect ( number tileWidth, number tileHeight, number xMin, number yMin, number xMax, number yMax )

Parameters
numbertileWidth
numbertileHeight
numberxMin
numberyMin
numberxMax
numberyMax
Returns
nil
write

Write image to a file.


function write ( MOAIImage self, string filename [, string format ] )

Parameters
MOAIImageself
stringfilename
stringformat Optional.
Returns
boolean