displayImage (Function)

Top  Previous  Next

Architecture:

X32 / NX32L

Firmware version:

1.30 / 1.00.00


This function is used to draw an image in the display.

 

Input:

x : INT (1..136 for LX4, 1..190 for NX-400)

x position (column) where the image is drawn from, 1 is the leftmost

 

y : INT (1..32 for LX4, 1..99 for NX-400)

y position (row) where the image is drawn from, 1 is the topmost

 

width : INT (1..136 for LX4, 1..190 for NX-400)

The width of the image in pixels.

 

height : INT (1..32 for LX4, 1..99 for NX-400)

The height of the image in pixels.

 

data : PTR

The image to draw.

 

Returns:

None.

 

Declaration:

FUNCTION displayImage;
VAR_INPUT
   x      : INT;
   y      : INT;
   width  : INT;
   height : INT;
   data   : PTR;
END_VAR;

 

 

Example:

INCLUDE rtcu.inc
 
PROGRAM example;
VAR
   sym1 : ARRAY[1..22] OF SINT := 16#1F, 16#00, 16#20, 16#80, 16#40, 16#40, 16#80, 16#20, 16#80, 16#20, 16#80, 16#20, 16#80, 16#20, 16#80, 16#20, 16#40, 16#40, 16#20, 16#80, 16#1F, 16#00;
   sym2 : ARRAY[1..22] OF SINT := 16#1F, 16#00, 16#24, 16#80, 16#44, 16#40, 16#84, 16#20, 16#84, 16#20, 16#FF, 16#E0, 16#84, 16#20, 16#84, 16#20, 16#44, 16#40, 16#24, 16#80, 16#1F, 16#00;
   sym3 : ARRAY[1..22] OF SINT := 16#1F, 16#00, 16#20, 16#80, 16#60, 16#C0, 16#91, 16#20, 16#8A, 16#20, 16#84, 16#20, 16#8A, 16#20, 16#91, 16#20, 16#60, 16#C0, 16#20, 16#80, 16#1F, 16#00;
END_VAR;
 
   // Turn on the display
   displayPower(power := ON);
 
   // Define smile
   displayDefineChar(index := 0, map := "0000180C6666060666660C1800000000");
 
   // Draw line 1 symbol
   displayCircle(:= 8, y := 8, rad := 5);
   displayLine(x1 := 8, y1 := 3, x2 := 8,  y2 := 13);
   displayLine(x1 := 3, y1 := 8, x2 := 13, y2 := 8);
 
   // Draw line 2 symbol
   displayImage(:= 3,  y := 19, width := 11, height := 11, data := ADDR(sym3));
 
   // Show text
   displayXY(:= 3, y := 1);
   displayString(message := "Hello World $80");
   displayXY(:= 3, y := 2);
   displayString(message := "Cookie: ");
   displayXY(:= 11, y := 2);
   displayNumber(number := 4711);
 
   // Draw bounding
   displayBox(x1 := 1, y1 := 1, x2 := 125, y2 := 31);
 
BEGIN
   ...
END;
END_PROGRAM;