Pixmap¶
A Pixmap object contains a color raster image (short for pixel map).
The components in a pixel in the Pixmap are all byte values,
with the transparency as the last component.
A Pixmap also has a location (x, y) in addition to its size;
so that they can easily be used to represent tiles of a page.
- new Pixmap(colorspace, bounds, alpha)¶
Constructor method.
Create a new pixmap. The pixel data is not initialized; and will contain garbage.
- Arguments:
colorspace –
ColorSpace.bounds –
[ulx,uly,lrx,lry]Rectangle.alpha –
Boolean.
- Returns:
Pixmap.
EXAMPLE
var pixmap = new mupdf.Pixmap(mupdf.ColorSpace.DeviceRGB, [0,0,100,100], true);
Instance methods
- clear(value)¶
Clear the pixels to the specified value. Pass
255for white, or omit for transparent.- Arguments:
value – Pixel value.
EXAMPLE
pixmap.clear(255); pixmap.clear();
- getBounds()¶
Return the pixmap bounds.
- Returns:
[ulx,uly,lrx,lry]Rectangle.
EXAMPLE
var rect = pixmap.getBounds();
- getWidth()¶
- Returns:
IntThe width value.
EXAMPLE
var w = pixmap.getWidth();
- getHeight()¶
- Returns:
IntThe height value.
EXAMPLE
var h = pixmap.getHeight();
- getNumberOfComponents()¶
Number of colors; plus one if an alpha channel is present.
- Returns:
IntNumber of color components.
EXAMPLE
var num = pixmap.getNumberOfComponents();
- getAlpha()¶
True if alpha channel is present.
- Returns:
Boolean.
EXAMPLE
var alpha = pixmap.getAlpha();
- getStride()¶
Number of bytes per row.
- Returns:
Int.
EXAMPLE
var stride = pixmap.getStride();
- getColorSpace()¶
Returns the
ColorSpacefor thePixmap.- Returns:
ColorSpace.
EXAMPLE
var cs = pixmap.getColorSpace();
- setResolution(xRes, yRes)¶
Set
x&yresolution.- Arguments:
xRes –
IntX resolution in dots per inch.yRes –
IntY resolution in dots per inch.
EXAMPLE
pixmap.setResolution(300, 300);
- getXResolution()¶
Returns the
xresolution for thePixmap.- Returns:
IntResolution in dots per inch.
EXAMPLE
var xRes = pixmap.getXResolution();
- getYResolution()¶
Returns the
yresolution for thePixmap.- Returns:
IntResolution in dots per inch.
EXAMPLE
var yRes = pixmap.getYResolution();
- getSample(x, y, index)¶
mutool only
Get the value of component
indexat positionx,y(relative to the image origin: 0, 0 is the top left pixel).- Arguments:
x – X co-ordinate.
y – Y co-ordinate.
index – Component index. i.e. For CMYK ColorSpaces 0 = Cyan, for RGB 0 = Red etc.
- Returns:
Int.
EXAMPLE
var sample = pixmap.getSample(0,0,0);
- saveAsPNG(fileName)¶
mutool only
Save the
Pixmapas a PNG. Only works for Gray and RGB images.- Arguments:
fileName –
String.
EXAMPLE
pixmap.saveAsPNG("fileName.png");
- saveAsJPEG(fileName, quality)¶
mutool only
Save the
Pixmapas a JPEG. Only works for Gray, RGB and CMYK images.- Arguments:
fileName –
String.quality –
Int.
EXAMPLE
pixmap.saveAsJPEG("fileName.jpg", 80);
- saveAsPAM(fileName)¶
mutool only
Save the
Pixmapas a PAM.- Arguments:
fileName –
String.
EXAMPLE
pixmap.saveAsPAM("fileName.pam");
- saveAsPNM(fileName)¶
mutool only
Save the
Pixmapas a PNM. Only works for Gray and RGB images without alpha.- Arguments:
fileName –
String.
EXAMPLE
pixmap.saveAsPNM("fileName.pnm");
- saveAsPBM(fileName)¶
mutool only
Save the
Pixmapas a PBM. Only works for Gray and RGB images without alpha.- Arguments:
fileName –
String.
EXAMPLE
pixmap.saveAsPBM("fileName.pbm");
- saveAsPKM(fileName)¶
mutool only
Save the
Pixmapas a PKM. Only works for Gray and RGB images without alpha.- Arguments:
fileName –
String.
EXAMPLE
pixmap.saveAsPKM("fileName.pkm");
- invert()¶
Invert all pixels. All components are processed, except alpha which is unchanged.
EXAMPLE
pixmap.invert();
- invertLuminance()¶
Transform all pixels so that luminance of each pixel is inverted, and the chrominance remains as unchanged as possible. All components are processed, except alpha which is unchanged.
EXAMPLE
pixmap.invertLuminance();
- gamma(gamma)¶
Apply gamma correction to
Pixmap. All components are processed, except alpha which is unchanged.Values
>= 0.1 & < 1= darken,> 1 & < 10= lighten.- Arguments:
gamma –
Float.
EXAMPLE
pixmap.gamma(3);
- tint(black, white)¶
- Tint all pixels in a RGB, BGR or Gray
Pixmap. Map black and white respectively to the given hex RGB values.
- Arguments:
black –
Integer.white –
Integer.
EXAMPLE
pixmap.tint(0xffff00, 0xffff00);
- Tint all pixels in a RGB, BGR or Gray
- warp(points, width, height)¶
Return a warped subsection of the
Pixmap, where the result has the requested dimensions.- Arguments:
points –
[x0, y0, x1, y1, x2, y2, x3, y3, x4, y4]
Points give the corner points of a convex quadrilateral within the
Pixmapto be warped. :arg width:Int. :arg height:Int.- Returns:
Pixmap.
EXAMPLE
var warpedPixmap = pixmap.warp([0,0,100,0,0,100,100,100],200,200);
- convertToColorSpace(colorspace, proof, defaultColorSpaces, colorParams, keepAlpha)¶
Convert pixmap into a new pixmap of a desired colorspace. A proofing colorspace, a set of default colorspaces and color parameters used during conversion may be specified. Finally a boolean indicates if alpha should be preserved (default is to not preserve alpha).
- Arguments:
colorspace –
Colorspace.proof –
Colorspace.defaultColorSpaces –
DefaultColorSpaces.colorParams –
[].keepAlpha –
Boolean.
- Returns:
Pixmap.
- getPixels()¶
wasm only
Returns an array of pixels for the
Pixmap.- Returns:
[...].
EXAMPLE
var pixels = pixmap.getPixels();
- asPNG()¶
wasm only
Returns a buffer of the
Pixmapas a PNG.- Returns:
Buffer.
EXAMPLE
var buffer = pixmap.asPNG();
- asPSD()¶
wasm only
Returns a buffer of the
Pixmapas a PSD.- Returns:
Buffer.
EXAMPLE
var buffer = pixmap.asPSD();
- asPAM()¶
wasm only
Returns a buffer of the
Pixmapas a PAM.- Returns:
Buffer.
EXAMPLE
var buffer = pixmap.asPAM();
- asJPEG(quality)¶
wasm only
Returns a buffer of the
Pixmapas a JPEG. Note, if thePixmaphas an alpha channel then an exception will be thrown.- Returns:
Buffer.
EXAMPLE
var buffer = pixmap.asJPEG(80);
- skewDetect()¶
wasm only
Returns the angle of skew detected from
Pixmap. Note, if thePixmapis not Greyscale with no alpha then an exception will be thrown.- Returns:
Float.
EXAMPLE
var angle = pixmap.skewDetect();
- deskew(angle, border)¶
wasm only
Returns a new
Pixmapbeing the deskewed version of the suppliedPixmap. Note, if aPixmapis supplied that is not RGB or Greyscale, or has alpha then an exception will be thrown.- Arguments:
angle –
Float. The angle to deskew.border –
String. “increase” increases the size of the pixmap so no pixels are lost. “maintain” maintains the size of the pixmap. “decrease” decreases the size of the page so no new pixels are shown.
- Returns:
Pixmap.
EXAMPLE
var deskewed = pixmap.deskew(angle, 0);