Skip over navigation

Roxen Interactive RXML Help

<cimg/>

Manipulates and converts images between different image formats. Provides the tag <cimg> that makes it is possible to convert, resize, crop and in other ways transform images.

Attributes

src
src=url
This attribute is required.

The path to the indata file.

<cimg src='/internal-roxen-testimage'/>

filename
filename=string

Append the filename value to the path. Recommended is not to append file suffix to the filename since there are settings for handling that automatically through this module settings.

This is useful if you want to have images indexed, since many search engines uses the filename as a description of the image.

<cimg-url src='/internal-roxen-testimage' filename='Roxen Test Image'/>
/deptafe_internal/cimg!0/3fp5bfif03w4y5g5id00di9vkngpo5w/Roxen%20Test%20Image

data
data=imagedata

Insert images from other sources, e.g. databases through entities or variables.

<emit source='sql' query='select imagedata from images where id=37'> <cimg data='&sql.imagedata:none;'/> </emit>

process-all-layers

Set this flag to make all image layers visible regardless of their original state.

include-layers
include-layers=layer-glob-list

Comma-separated list of glob expressions which is matched against layer names. All matching layers are made visible regardless of their original state.

exclude-layers
exclude-layers=layer-glob-list

Comma-separated list of glob expressions which is matched against layer names. All matching layers are hidden regardless of their original state.

exclude-invisible-layers

Set this flag to automatically exclude layers that are not shown in the original image. This is only useful in combination with the 'process-all-layers' attribute.

Timeout

The generated image will by default never expire, but in some circumstances it may be pertinent to limit the time the image and its associated data is kept. Its possible to set an (advisory) timeout on the image data using the following attributes.

unix-time
unix-time=number

Set the base expiry time to this absolute time.

If left out, the other attributes are relative to current time.

years
years=number

Add this number of years to the time this entry is valid.

months
months=number

Add this number of months to the time this entry is valid.

weeks
weeks=number

Add this number of weeks to the time this entry is valid.

days
days=number

Add this number of days to the time this entry is valid.

hours
hours=number

Add this number of hours to the time this entry is valid.

beats
beats=number

Add this number of beats to the time this entry is valid.

minutes
minutes=number

Add this number of minutes to the time this entry is valid.

seconds
seconds=number

Add this number of seconds to the time this entry is valid.

Image cache attributes

format
format={gif, jpeg, png, avs, gmp, bd, hrz, ilbm, psx, pnm, ps, pvr, tga, tiff, wbf, xbm, xpm} (gif)

The format to encode the image to. The formats available are:

AcronymAcronym interpretation

gif

Graphics Interchange Format (might be missing in your roxen)

jpeg

Joint Photography Expert Group image compression

png

Portable Networks Graphics

avs

Advanced Visual Systems Inc. image format

bmp

Windows BitMaP file

gd

Internal format used by libgd

hrz

HRZ is (was?) used for amatuer radio slow-scan TV.

ilbm

Interchangeable File Format: interleaved bitmap

pcx

Zsoft PCX file format (PC / DOS)

pnm

Portable AnyMap

ps

Adobe PostScript file

pvr

Pover VR (dreamcast image)

tga

TrueVision Targa (PC / DOS)

tiff

Tag Image File Format

wbf

WAP Bitmap File

xbm

XWindows Bitmap File

xpm

XWindows Pixmap File

<cimg src='/internal-roxen-testimage' format='png'/>
<cimg src='/internal-roxen-testimage' format='gif'/>

quant
quant=number (format dependant)

The number of colors to quantizize the image to.

Default for gif is 32(+1 transparent), for most other formats (except black and white) is it unlimited.

<cimg src='/internal-roxen-testimage' quant='2'/>

Color/alpha attributes

dither
dither={none, random, floyd-steinberg} (none)

Choose the dithering method.

MethodMeaning

none

No dithering is performed at all.

random

Random scatter dither. Not visually pleasing, but it is useful for very high resolution printing.

floyd-steinberg

Error diffusion dithering. Usually the best dithering method.

<cimg src='/internal-roxen-testimage' dither='random' quant='10'/>
<cimg src='/internal-roxen-testimage' dither='floyd-steinberg' quant='10'/>

true-alpha

If present, render a real alpha channel instead of on/off alpha. If the file format only supports on/off alpha, the alpha channel is dithered using a floyd-steinberg dither.

<cimg src='/internal-roxen-testimage' opaque-value='20'/>
<cimg src='/internal-roxen-testimage' opaque-value='20' true-alpha='1'/>

background-color
background-color=color (taken from the page)

The color to render the image against.

<cimg src='/internal-roxen-testimage' background-color='red' opaque-value='50'/>

opaque-value
opaque-value=percentage (100)

The transparency value to use, 100 is fully opaque, and 0 is fully transparent.

cs-rgb-hsv
cs-rgb-hsv={0, 1} (0)

Perform rgb to hsv colorspace conversion.

<cimg src='/internal-roxen-testimage' cs-rgb-hsv='1'/>

gamma
gamma=number (1.0)

Perform gamma adjustment.

<cimg src='/internal-roxen-testimage' gamma='0.5'/>
<cimg src='/internal-roxen-testimage' gamma='1.5'/>

cs-grey
cs-grey={0, 1} (0)

Perform rgb to greyscale colorspace conversion.

<cimg src='/internal-roxen-testimage' cs-grey='1'/>

cs-invert
cs-invert={0, 1} (0)

Invert all colors

<cimg src='/internal-roxen-testimage' cs-invert='1'/>

cs-hsv-rgb
cs-hsv-rgb={0, 1} (0)

Perform hsv to rgb colorspace conversion.

<cimg src='/internal-roxen-testimage' cs-hsv-rgb='1'/>

Transform attributes

rotate-cw
rotate-cw=degree (0)

Rotate the image clock-wise.

<cimg src='/internal-roxen-testimage' rotate-cw='20'/>

rotate-ccw
rotate-ccw=degree (0)

Rotate the image counter clock-wise.

rotate-unit
rotate-unit={rad, deg, ndeg, part} (deg)

Select the unit to use while rotating.

UnitMeaning

rad

Radians

deg

Degrees

ndeg

'New' degrees (400 for each full rotation)

part

0 - 1.0 (1.0 == full rotation)

mirror-x
mirror-x={0, 1} (0)

Mirror the image around the X-axis.

mirror-y
mirror-y={0, 1} (0)

Mirror the image around the Y-axis.

scale
scale=fact (1.0)

Scale fact times. (0.5 -> half size, 2.0 -> double size)

<cimg src='/internal-roxen-testimage' scale='0.5'/>

scale
scale=x,y

Scale to the exact size x,y. If either of X or Y is zero, the image is scaled to the specified width or hight, and the value that is zero is scaled in proportion to the other value.

<cimg src='/internal-roxen-testimage' scale='20,50'/>

max-width
max-width=xsize

If width is larger than 'xsize', scale width to 'xsize' while keeping aspect.

max-height
max-height=ysize

If height is larger than 'ysize', scale height to 'ysize' while keeping aspect.

span-width
span-width=xsize

If width is larger than 'xsize', scale width to 'xsize' while keeping aspect. If width is smaller than 'xsize', extend width to 'xsize' by filling the new space with current background color.

<cimg src='/internal-roxen-testimage' span-width="350" background-color='white'/>

span-height
span-height=ysize

If height is larger than 'ysize', scale height to 'ysize' while keeping aspect. If height is smaller than 'ysize', extend height to 'ysize' by filling the new space with current background color.

<cimg src='/internal-roxen-testimage' span-height="350" background-color='white'/>

x-offset
x-offset=pixels (0)

Cut n pixels from the beginning of the X scale.

<cimg src='/internal-roxen-testimage' x-offset='100'/>

y-offset
y-offset=pixels (0)

Cut n pixels from the beginning of the Y scale.

x-size
x-size=pixels (whole image)

Keep n pixels from the beginning of the X scale.

<cimg src='/internal-roxen-testimage' x-size='100'/>

y-size
y-size=pixels (whole image)

Keep n pixels from the beginning of the Y scale.

crop
crop={x1,y1-x2,y2, auto, guides-cross, guides-region}

Crops the image by using several differen methods. The simplest is to only specify the area to be cropped with x,y-x,y coordinates. By instead selecting "auto" the image will be cropped so that as many pixels as possible with the same color is removed from around the image.

A more advanced cropping method can be used by giving the crop argument "guides-cross". The image will then be cropped around the intersection of two guides inside the image. Guides can be added to e.g. Photoshop and GIMP images. If several guides are present, which ones to use can be selected with the guides-index=x,y attribute, where x and y is the number of the guides. Guides cross cropping is usefull together with max-width and max-height attributes when creating thumb nails.

A combination of guides cross cropping can be used by giving the crop argument "guides-region". In this cropping mode the area enclosed by two horizontal and two vertical guides are saved. Which guides to use is given by the guides-index=x1,y1-x2,y2 attribute, where the x and y parameters are the number of the guides. Guides can also be specified as guides-index=x,y. Then the saved area will be the one enclosed by the buides x,y and x+1,y+1, counting from left and top. Again, combine max-width and max-height makes a good effect, since scaling is performed after cropping.

<cimg src='/internal-roxen-testimage' crop='50,28-150,92'/>

Format specific attributes

jpeg-quality
jpeg-quality=percentage (75)

Set the quality on the output jpeg image.

<cimg src='/internal-roxen-testimage' format='jpeg' jpeg-quality='30'/>
<cimg src='/internal-roxen-testimage' format='jpeg' jpeg-quality='1'/>

jpeg-optimize
jpeg-optimize={0, 1} (1)

If 0, do not generate optimal tables. Somewhat faster, but produces bigger files.

jpeg-progressive=
jpeg-progressive=={0, 1} (0)

Generate progressive jpeg images.

jpeg-smooth
jpeg-smooth=0-100 (0)

Smooth the image while compressing it. This produces smaller files, but might undo the effects of dithering.

bmp-bpp
bmp-bpp=1,4,8,24 (24)

Force this number of bits per pixel for bmp images.

bmp-windows
bmp-windows={0, 1} (1)

Windows or OS/2 mode, default is 1. (windows mode)

bmp-rle
bmp-rle={0, 1} (0)

RLE 'compress' the BMP image.

gd-alpha_index
gd-alpha_index=color (0)

Color in the colormap to make transparent for GD-images with alpha channel.

pcx-raw
pcx-raw={1, 0} (0)

If 1, do not RLE encode the PCX image.

pcx-dpy
pcx-dpy=0-10000000.0 (75.0)

Resolution, in pixels per inch.

pcx-xdpy
pcx-xdpy=0-10000000.0 (75.0)

Resolution, in pixels per inch.

pcx-ydpy
pcx-ydpy=0-10000000.0 (75.0)

Resolution, in pixels per inch.

pcx-xoffset
pcx-xoffset=0-imagexsize-2 (0)

Offset from start of image data to image content for PCX images. Unused by most programs.

pcx-yoffset
pcx-yoffset=0-imageysize-2 (0)

Offset from start of image data to image content for PCX images. Unused by most programs.

tga-raw
tga-raw={1, 0} (0)

If 1, do not RLE encode the Targa image.

ps-dpi
ps-dpi=0-10000000.0 (75.0)

Dots per inch for the resulting postscript file.