version 11
TRANSFORM PICTURE (picture; operator{; param1{; param2{; param3{; param4}}}})
Parameter | Type | Description | |
picture | Picture | Source picture to be transformed | |
Resulting picture after transformation | |||
operator | Longint | Type of transformation to be done | |
param1 | Number | Transformation parameter | |
param2 | Number | Transformation parameter | |
param3 | Number | Transformation parameter | |
param4 | Number | Transformation parameter |
Description
The TRANSFORM PICTURE command can be used to apply a transformation of the operator type to the picture passed in the picture parameter.
Note: This command extends the functionalities offered by conventional picture transformation operators (+/, etc., see the Picture Operators section). These operators remain entirely usable in 4D v11.
The source picture is modified directly after execution of the command. Note that except for "Crop" and "Fade to grey scale," the operations are not destructive and can be reversed by carrying out the opposite operation or via the "Reset" operation. For example, a picture reduced to 1% will regain its original size with no alteration if it is enlarged by a factor of 100 subsequently. Transformations do not modify the original picture type: for example, a vectorial picture will remain vectorial after its transformation.
In operator, pass the number of the operation to be carried out and in param, the parameter(s) needed for this operation (the number of parameters depends on the operation). You can use one of the constants of the "Picture Transformation" theme in operator. These operators and their parameters are described in the following table:
operator (value) | param1 | param2 | param3 | param4 | Values |
Reset (0) | - | - | - | - | |
Scale (1) | Width | Height | - | - | Factors |
Translate (2) | X axis | Y axis | - | - | Pixels |
Flip horizontally (3) | - | - | - | - | |
Flip vertically (4) | - | - | - | - | |
Crop (100) | X Orig. | Y Orig. | Width | Height | Pixels |
Fade to grey scale (101) | - | - | - | - |
Reset: All matrix operations carried out on the picture (scale, flip, and so on) are undone.
Scale: The picture is resized horizontally and vertically according to the values passed respectively in param1 and param2. These values are factors: for example, to enlarge the width by 50%, pass 1.5 in param1 and to reduce the height by 50%, pass 0.5 in param2.
Translate: The picture is moved by param1 pixels horizontally and by param2 pixels vertically. Pass a positive value to move to the right or towards the bottom and a negative value to move to the left or towards the top.
Flip horizontally and Flip vertically: The original picture is flipped. Any movement that was carried out beforehand will not be taken into account.
Crop: The picture is cropped starting from the point of the param1 and param2 coordinates (expressed in pixels). The width and height of the new picture is determined by the param3 and param4 parameters. This transformation cannot be undone.
Fade to grey scale: The picture is switched to gray scale (no parameter is required). This transformation cannot be undone.
Example
Here is an example of cropping a picture (the picture is displayed in the form with the "Truncated (non-centered)" format):
TRANSFORM PICTURE($vpGears;Crop;50;50;100;100)
See Also
COMBINE PICTURES, Picture Operators.