| Roxen/6.2.236-git | ||
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. It is possible to pass attributes, such as the alt attribute, to the resulting tag by including them in the cimg tag.
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'/>/_internal/cimg/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, bmp, hrz, ilbm, pcx, pnm, ps, pvr, tga, tiff, wbf, webp, xbm, xpm} (png)
The format to encode the image to. The formats available are:
Acronym Acronym 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
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
webp
WebP image format currently developed by Google.
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.
Method Meaning 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.
Unit Meaning 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.