
NAME
Cairo driver - driver for bitmap or vector output using
the Cairo graphics library.
(drivers)
DESCRIPTION
The Cairo driver generates PNG, BMP, PPM, PS, PDF or SVG images from GRASS
display commands, using the
Cairo graphics library.
The image format is selected from the extension of the output file.
It is started as 'pseudo' monitor (output to an image file) and when
stopped, all output from previously used display commands are written to
the output file.
USAGE
Environment variables
Several environment variables affect the operation of the Cairo driver:
- GRASS_RENDER_IMMEDIATE=[FALSE|TRUE|PNG|PS|HTML|cairo]
tells the raster library which driver to use. If
TRUE, the cairo driver is used if it is enabled, otherwise the PNG driver is used.
- GRASS_WIDTH=xxx
the width of the image.
- GRASS_HEIGHT=yyy
the height of the image.
- GRASS_PNGFILE=filename
the name and format of the resulting image file, default is
map.png.
The image format is determined from the file extension.
Supported bitmap formats:
- .png - Portable Network Graphics (PNG)
- .bmp - Windows Bitmap (BMP, 32-bpp)
(these are not readable by some older viewers)
- .ppm - Portable Pixmap (PPM + PGM for alpha channel)
Supported vector formats:
- .pdf - Portable Document Format (PDF)
- .ps - PostScript (PS)
- .svg - Scalable Vector Graphics (SVG)
(Note: Some formats may not be available, depending on your platform and
the Cairo library that GRASS was built with.)
- GRASS_BACKGROUNDCOLOR=RRGGBB
specifies the background color to use in RGB
notation (hex values). Default is FFFFFF (white).
- GRASS_TRANSPARENT=[TRUE|FALSE]
sets transparent background on (TRUE) or off (FALSE, default).
- GRASS_PNG_READ
if TRUE, the Cairo driver will initialize the image from
the contents of GRASS_PNGFILE.
(Note: This is only supported for bitmap formats)
- GRASS_PNG_MAPPED
if TRUE, the Cairo driver will map GRASS_PNGFILE as its framebuffer,
rather than using memory. This only works with BMP files.
- GRASS_ANTIALIAS
can be default,
none, gray, or subpixel, corresponding to
cairo_antialias_t
- GRASS_LINE_WIDTH
the default line width.
- GRASS_TEXT_SIZE
the default text size.
- GRASS_FRAME
contains 4 coordinates, top,bottom,left,right, defining the initial frame.
Examples
Example using the driver to generate a PNG file (bash-syntax):
export GRASS_PNGFILE=spearfish.png
export GRASS_WIDTH=800
export GRASS_HEIGHT=800
export GRASS_RENDER_IMMEDIATE=CAIRO
d.rast map=elevation.10m
d.vect map=streams width=1 color=blue fcolor=aqua type=area,line
d.vect map=roads width=2
Example using the driver to generate a PDF file (bash-syntax):
export GRASS_PNGFILE=spearfish.pdf
export GRASS_WIDTH=800
export GRASS_HEIGHT=800
export GRASS_RENDER_IMMEDIATE=CAIRO
d.rast map=elevation.10m
d.vect map=streams width=1 color=blue fcolor=aqua type=area,line
d.vect map=roads width=2
NOTES
The driver is still in development. Enable it by specifying
--with-cairo
when configuring GRASS. This
requires a reasonably recent version of the Cairo libraries
and a working pkg-config.
Antialiasing is enabled by default for bitmap formats. There is
currently no way of disabling this.
Cairo supports true vector format output whenever possible. However,
if the selected format doesn't support a necessary feature, Cairo may
fall back on rendering a bitmap representation of the image wrapped in
the selected vector format.
SEE ALSO
Display drivers
PNG driver,
PostScript driver,
d.rast,
d.vect
AUTHOR
Lars Ahlzen <lars (at) ahlzen.com>
and the GRASS Development Team.
Main index - cairodriver index - Full index
© 2003-2011 GRASS Development Team