Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old

DynaPDF.Table.SetCellImage

Inserts an image horizontally and vertically aligned as specified.

Component Version macOS Windows Linux Server iOS SDK
DynaPDF 3.5 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "DynaPDF.Table.SetCellImage"; Table; Row; Col; ForeGround; HAlign; VAlign; Width; Height; ImagePath { ; Index } )   More

Parameters

Parameter Description Example Flags
Table The identifier for the table. $Table
Row The row number. Range from 0 to DynaPDF.Table.GetNumRows-1. Pass -1 for all rows. 0
Col The column number. Range from 0 to DynaPDF.Table.GetNumCols-1. Pass -1 for all columns. 0
ForeGround If 1, the cell will be expanded if necessary. 1
HAlign The horizontal alignment. Can be left, center or right. "center"
VAlign The vertical alignment. Can be bottom, center or top. "center"
Width The image width. Must be greater or equal zero. 50
Height The image height. Must be greater or equal zero. 50
ImagePath The native path to the image file. $Path
Index The index of the image in the file. 1 Optional

Result

Returns OK or error.

Description

Inserts an image horizontally and vertically aligned as specified.
The image will be loaded when the table is drawn. Therefore, please use an absolute path.
If the image is inserted as a background object, then it will be clipped if it does not fit into the cell boundary. A cell can contain a background and a foreground object.
An image can also be added to the table as background object.
Foreground objects have a strong width and height. That means the cell will be expanded if necessary.
Image formats which support no transparency are inserted opaque. Transparent GIF images are inserted transparent and alpha channels in images will be considered. Images should normally be inserted in the native image color space. To achieve this, set the flag UseImageCS with DynaPDF.Table.SetFlags.
Images can be scaled into the cell as follows:
  • Width = 0 and Height = 0 -> The image is scaled to the cell width or height depending on the cell orientation. The aspect ratio will be preserved. If the flag tfScaleToRect is set, the image is scaled so that both sides fit into the cell width and height. The row height must be greater zero to achieve a meaningful result.
  • Width > 0 and Height = 0 or Width = 0 and Height > 0 -> The image is scaled to the given width or height. The aspect ratio will be preserved. If the flag tfScaleToRect is set, the image is scaled so that both sides fit into the given width or height and into cell width or height depending on which side is missing. If the parameter Height and the row height are zero then the flag tfScaleToRect has no effect.
  • Width > 0 and Height > 0 -> The image is scaled to the given width and height. The aspect ratio is not preserved. If the flag tfScaleToRect is set, the image is scaled so that both sides fit into the given width and height and the aspect ratio is preserved.
The parameters Width and Height are not exchanged if the cell uses a landscape orientation.

This function needs a native path. Please use Path.FileMakerPathToNativePath function in order to convert a FileMaker style path to a native path.

Examples

Add row and insert picture:

Set Variable [$subrow; Value:MBS("DynaPDF.Table.AddRow"; $subtable)]
Set Variable [$r; Value:MBS("DynaPDF.Table.SetCellImageEx"; $subtable; $subrow; 0; 1; "left"; "top"; 200; 0; Images::Image)]

See also

Release notes

This function checks for a license.

Created 18th August 2014, last changed 18th October 2016


DynaPDF.Table.SetCellAction - DynaPDF.Table.SetCellImageEx