version 6.0
An expression that uses a picture operator returns a picture. The following table shows the picture operators.
Operation | Syntax | Action |
Horizontal concatenation | Pict1 + Pict2 | Add Pict2 to the right of Pict1 |
Vertical concatenation | Pict1 / Pict2 | Add Pict2 to the bottom of Pict1 |
Exclusive superimposition | Pict1 & Pict2 | Perform an XOR on Pict1 and Pict2 |
Inclusive superimposition | Pict1 | Pict2 | Perform a OR on Pict1 and Pict2 |
Horizontal move | Picture + Number | Move Picture horizontally Number pixels |
Vertical move | Picture / Number | Move Picture vertically Number pixels |
Resizing | Picture * Number | Resize Picture by Number ratio |
Horizontal scaling | Picture *+ Number | Resize Picture horizontally by Number ratio |
Vertical scaling | Picture */ Number | Resize Picture vertically by Number ratio |
The two operators & and | always return a bitmapped picture, no matter what the nature of the two source pictures. The reason is that 4D first draws the pictures into memory bitmaps, then calculates the resulting picture by performing graphical exclusive or inclusive OR on the pixels of the bitmaps.
Note: The COMBINE PICTURES command can be used to superimpose pictures while keeping the characteristics of each source picture in the resulting picture.
The other picture operators return vectorial pictures if the two source pictures are vectorial. Remember, however, that pictures printed by the display format On Background are printed bitmapped.
Examples
In the following examples, all of the pictures are shown using the display format On Background.
Here is the picture circle:
Here is the picture rectangle:
In the following examples, each expression is followed by its graphical representation.
Horizontal concatenation
circle + rectangle ` Place the rectangle to the right of the circlerectangle + circle ` Place the circle to the right of the rectangle
![]()
Vertical concatenation
circle / rectangle ` Place the rectangle under the circlerectangle / circle ` Place the circle under the rectangle
![]()
Exclusive superimposition (XOR)
circle & rectangle ` Exclusive OR of the two pictures![]()
Inclusive superimposition (OR)
circle | rectangle ` Inclusive OR of the two pictures![]()
Horizontal move
rectangle + 50 ` Move the rectangle 50 pixels to the rightrectangle - 50 ` Move the rectangle 50 pixels to the left
![]()
Vertical move
rectangle /50 ` Move the rectangle down by 50 pixelsrectangle /-20 ` Move the rectangle up by 20 pixels
![]()
Resize
rectangle * 1.5 ` The rectangle becomes 50% biggerrectangle * 0.5 ` The rectangle becomes 50% smaller
![]()
Horizontal scaling
circle *+3 ` The circle becomes 3 times widercircle *+ 0.25 ` The circle's width becomes a quarter of what it was
![]()
Vertical scaling
circle */ 2 ` The circle becomes twice as tallcircle */ 0.25 ` The circle's height becomes a quarter of what it was
![]()
See Also
Bitwise Operators, COMBINE PICTURES, Comparison Operators, Date Operators, Logical Operators, Numeric Operators, Operators, String Operators, Time Operators, TRANSFORM PICTURE.