Difference between revisions of "Component: GLCD Bitmap Drawer FAT (Graphical Library)"

From Flowcode Help
Jump to navigationJump to search
 
(13 intermediate revisions by 2 users not shown)
Line 14: Line 14:
 
==GLCD Bitmap Drawer FAT component==
 
==GLCD Bitmap Drawer FAT component==
 
A component to simplify the process of drawing bitmap images to a graphical display. Reads Bitmap files directly from a SD card formatted with a FAT file system. Compatible with 24-bit &  Monochrome Bitmaps. The gLCD object property specifies which LCD component to draw the bitmap to. Compatible with GLCD, NeoPixel, MIACv3, HT16K33
 
A component to simplify the process of drawing bitmap images to a graphical display. Reads Bitmap files directly from a SD card formatted with a FAT file system. Compatible with 24-bit &  Monochrome Bitmaps. The gLCD object property specifies which LCD component to draw the bitmap to. Compatible with GLCD, NeoPixel, MIACv3, HT16K33
 
==Component Source Code==
 
 
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Lib_Draw_Bitmap_FAT.fcfx FC_Comp_Source_Lib_Draw_Bitmap_FAT.fcfx]
 
  
 
==Detailed description==
 
==Detailed description==
 
 
 
 
  
 
''No detailed description exists yet for this component''
 
''No detailed description exists yet for this component''
Line 29: Line 21:
 
==Examples==
 
==Examples==
  
 +
Here is an example that will scan for bitmap files in the root of the SD card and display them on a graphical display.
  
 +
{{Zip|BitmapDrawer_File_Demo.zip|Bitmap Drawer File Demo}}
  
  
 +
The zip file contains the Flowcode project as well as some example bitmap image files taken from Pixabay.
  
''<span style="color:red;">No additional examples</span>''
+
Place the bitmap files in the same folder as the project file for the simulation to work.
  
==Macro reference==
+
Place the bitmap files on the root of the SD card for the embedded hardware to work.
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetHeight'''
 
|-
 
| colspan="2" | Returns the height of the loaded bitmap file in pixels.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 
| width="90%" | Filename
 
|-
 
| colspan="2" | The filename of the bitmap we want to measure&nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetWidth'''
 
|-
 
| colspan="2" | Returns the width of the loaded bitmap file in pixels.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 
| width="90%" | Filename
 
|-
 
| colspan="2" | The filename of the bitmap we want to measure&nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
  
  
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
+
==Macro reference==
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTransparentColour'''
 
|-
 
| colspan="2" | Sets the transparency colour, the colour that is not drawn when transparency is enabled.&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | R
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | G
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | B
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
  
 +
===Display_BMP===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 106: Line 44:
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Display_BMP'''
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Display_BMP'''
 
|-
 
|-
| colspan="2" | Draws the bitmap image from ROM onto the display at the corrdinates X and Y. Return Values: 0=OK, 1=ColourDepthNotSupported, 237=FileNotFound&nbsp;
+
| colspan="2" | Draws the bitmap image onto the display at the corrdinates X and Y. Return Values: 0=OK, 1=ColourDepthNotSupported, 237=FileNotFound&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 144: Line 82:
  
  
 +
===Display_BMP_Fast===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 149: Line 88:
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Display_BMP_Fast'''
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Display_BMP_Fast'''
 
|-
 
|-
| colspan="2" | Draws the bitmap image from ROM onto the display at the corrdinates X and Y. Attempts to draw a row at a time by not forcing coordinates for every pixel so may not work on some displays. Return Values: 0=OK, 1=ColourDepthNotSupported, 237=FileNotFound&nbsp;
+
| colspan="2" | Draws the bitmap image onto the display at the corrdinates X and Y. Speeds up drawing by not assigning X/Y coordinate for each pixel. Return Values: 0=OK, 1=ColourDepthNotSupported, 237=FileNotFound&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 167: Line 106:
 
| colspan="2" | Y Axis coordinate, specifies the location of the top edge of the bitmap image&nbsp;
 
| colspan="2" | Y Axis coordinate, specifies the location of the top edge of the bitmap image&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
| width="90%" | Orientation
+
| width="90%" | Mode
 
|-
 
|-
| colspan="2" | 0=Normal, 1=90 Degrees CW, 2=180 Degrees, 3=270 Degrees CW&nbsp;
+
| colspan="2" | 0=RowByRow, 1=FullWindow(Y Flipped)&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
| width="90%" | Transparency
+
| width="90%" | Orientation
 
|-
 
|-
| colspan="2" | 0=Off, 1=On Don't Draw Any Pixels which match the transparent colour&nbsp;
+
| colspan="2" | 0=Default, 1=Rotated 90 Degrees (only works with Mode 0)&nbsp;
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Flip
 
|-
 
| colspan="2" | 0=Normal, 1=FlipWidth, 2=FlipHeight, 3=FlipBoth&nbsp;
 
 
|-
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
Line 187: Line 121:
  
  
 
+
===GetHeight===
 
 
==Property reference==
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | GLCD LinkTo
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | File LinkTo
 
|-
 
| colspan="2" | &nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
 
| width="90%" | ColourDisplay
 
|-
 
| colspan="2" | Automatically detects if the graphical LCD object is colour or monochrome&nbsp;
 
|}==Macro reference==
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 231: Line 140:
  
  
 +
===GetWidth===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 249: Line 159:
  
  
 +
===SetTransparentColour===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 275: Line 186:
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Display_BMP'''
 
|-
 
| colspan="2" | Draws the bitmap image from ROM onto the display at the corrdinates X and Y. Return Values: 0=OK, 1=ColourDepthNotSupported, 237=FileNotFound&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 
| width="90%" | Filename
 
|-
 
| colspan="2" | Bitmap file to open from current directory on SD card 8.3 format&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | X
 
|-
 
| colspan="2" | X Axis coordinate, specifies the location of the left edge of the bitmap image&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Y
 
|-
 
| colspan="2" | Y Axis coordinate, specifies the location of the top edge of the bitmap image&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Orientation
 
|-
 
| colspan="2" | 0=Normal, 1=90 Degrees CW, 2=180 Degrees, 3=270 Degrees CW&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Transparency
 
|-
 
| colspan="2" | 0=Off, 1=On Don't Draw Any Pixels which match the transparent colour&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Flip
 
|-
 
| colspan="2" | 0=Normal, 1=FlipWidth, 2=FlipHeight, 3=FlipBoth&nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Display_BMP_Fast'''
 
|-
 
| colspan="2" | Draws the bitmap image from ROM onto the display at the corrdinates X and Y. Attempts to draw a row at a time by not forcing coordinates for every pixel so may not work on some displays. Return Values: 0=OK, 1=ColourDepthNotSupported, 237=FileNotFound&nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
 
| width="90%" | Filename
 
|-
 
| colspan="2" | Bitmap file to open from current directory on SD card 8.3 format&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | X
 
|-
 
| colspan="2" | X Axis coordinate, specifies the location of the left edge of the bitmap image&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
 
| width="90%" | Y
 
|-
 
| colspan="2" | Y Axis coordinate, specifies the location of the top edge of the bitmap image&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Orientation
 
|-
 
| colspan="2" | 0=Normal, 1=90 Degrees CW, 2=180 Degrees, 3=270 Degrees CW&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Transparency
 
|-
 
| colspan="2" | 0=Off, 1=On Don't Draw Any Pixels which match the transparent colour&nbsp;
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" | Flip
 
|-
 
| colspan="2" | 0=Normal, 1=FlipWidth, 2=FlipHeight, 3=FlipBoth&nbsp;
 
|-
 
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
 
 
  
  
Line 388: Line 211:
 
| colspan="2" | Automatically detects if the graphical LCD object is colour or monochrome&nbsp;
 
| colspan="2" | Automatically detects if the graphical LCD object is colour or monochrome&nbsp;
 
|}
 
|}
 +
 +
==Component Source Code==
 +
 +
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Lib_Draw_Bitmap_FAT.fcfx FC_Comp_Source_Lib_Draw_Bitmap_FAT.fcfx]
 +
 +
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Lib_Draw_Bitmap_FAT.fcfx FC_Comp_Source_Lib_Draw_Bitmap_FAT.fcfx]

Latest revision as of 11:13, 10 April 2024

Author Matrix TSL
Version 2.2
Category Graphical Library


GLCD Bitmap Drawer FAT component

A component to simplify the process of drawing bitmap images to a graphical display. Reads Bitmap files directly from a SD card formatted with a FAT file system. Compatible with 24-bit & Monochrome Bitmaps. The gLCD object property specifies which LCD component to draw the bitmap to. Compatible with GLCD, NeoPixel, MIACv3, HT16K33

Detailed description

No detailed description exists yet for this component

Examples

Here is an example that will scan for bitmap files in the root of the SD card and display them on a graphical display.

ZIP Icon.png Bitmap Drawer File Demo


The zip file contains the Flowcode project as well as some example bitmap image files taken from Pixabay.

Place the bitmap files in the same folder as the project file for the simulation to work.

Place the bitmap files on the root of the SD card for the embedded hardware to work.



Macro reference

Display_BMP

Fc9-comp-macro.png Display_BMP
Draws the bitmap image onto the display at the corrdinates X and Y. Return Values: 0=OK, 1=ColourDepthNotSupported, 237=FileNotFound 
Fc9-string-icon.png - STRING Filename
Bitmap file to open from current directory on SD card 8.3 format 
Fc9-u16-icon.png - UINT X
X Axis coordinate, specifies the location of the left edge of the bitmap image 
Fc9-u16-icon.png - UINT Y
Y Axis coordinate, specifies the location of the top edge of the bitmap image 
Fc9-u8-icon.png - BYTE Orientation
0=Normal, 1=90 Degrees CW, 2=180 Degrees, 3=270 Degrees CW 
Fc9-u8-icon.png - BYTE Transparency
0=Off, 1=On Don't Draw Any Pixels which match the transparent colour 
Fc9-u8-icon.png - BYTE Flip
0=Normal, 1=FlipWidth, 2=FlipHeight, 3=FlipBoth 
Fc9-u8-icon.png - BYTE Return


Display_BMP_Fast

Fc9-comp-macro.png Display_BMP_Fast
Draws the bitmap image onto the display at the corrdinates X and Y. Speeds up drawing by not assigning X/Y coordinate for each pixel. Return Values: 0=OK, 1=ColourDepthNotSupported, 237=FileNotFound 
Fc9-string-icon.png - STRING Filename
Bitmap file to open from current directory on SD card 8.3 format 
Fc9-u16-icon.png - UINT X
X Axis coordinate, specifies the location of the left edge of the bitmap image 
Fc9-u16-icon.png - UINT Y
Y Axis coordinate, specifies the location of the top edge of the bitmap image 
Fc9-bool-icon.png - BOOL Mode
0=RowByRow, 1=FullWindow(Y Flipped) 
Fc9-bool-icon.png - BOOL Orientation
0=Default, 1=Rotated 90 Degrees (only works with Mode 0) 
Fc9-u8-icon.png - BYTE Return


GetHeight

Fc9-comp-macro.png GetHeight
Returns the height of the loaded bitmap file in pixels. 
Fc9-string-icon.png - STRING Filename
The filename of the bitmap we want to measure 
Fc9-u16-icon.png - UINT Return


GetWidth

Fc9-comp-macro.png GetWidth
Returns the width of the loaded bitmap file in pixels. 
Fc9-string-icon.png - STRING Filename
The filename of the bitmap we want to measure 
Fc9-u16-icon.png - UINT Return


SetTransparentColour

Fc9-comp-macro.png SetTransparentColour
Sets the transparency colour, the colour that is not drawn when transparency is enabled. 
Fc9-u8-icon.png - BYTE R
 
Fc9-u8-icon.png - BYTE G
 
Fc9-u8-icon.png - BYTE B
 
Fc9-void-icon.png - VOID Return


Property reference

Fc9-prop-icon.png Properties
Fc9-type-16-icon.png GLCD LinkTo
 
Fc9-type-16-icon.png File LinkTo
 
Fc9-type-7-icon.png ColourDisplay
Automatically detects if the graphical LCD object is colour or monochrome 

Component Source Code

Please click here to download the component source project: FC_Comp_Source_Lib_Draw_Bitmap_FAT.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_Lib_Draw_Bitmap_FAT.fcfx