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

From Flowcode Help
Jump to navigationJump to search
 
(14 intermediate revisions by 2 users not shown)
Line 15: Line 15:
 
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==
+
==Detailed description==
 +
 
 +
''No detailed description exists yet for this component''
  
Please click here for the component source code: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_Lib_Draw_Bitmap_FAT.fcfx FC_Comp_Source_Lib_Draw_Bitmap_FAT.fcfx]
+
==Examples==
  
==Detailed description==
+
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}}
  
  
''No detailed description exists yet for this component''
+
The zip file contains the Flowcode project as well as some example bitmap image files taken from Pixabay.
  
==Examples==
+
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.
  
  
''<span style="color:red;">No additional examples</span>''
 
  
==Macro reference==
 
  
{| 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''
 
|}
 
  
 +
==Macro reference==
  
 +
===Display_BMP===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetWidth'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Display_BMP'''
 
|-
 
|-
| colspan="2" | Returns the width of the loaded bitmap file in pixels.&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 62: Line 50:
 
| width="90%" | Filename
 
| width="90%" | Filename
 
|-
 
|-
| colspan="2" | The filename of the bitmap we want to measure&nbsp;
+
| colspan="2" | Bitmap file to open from current directory on SD card 8.3 format&nbsp;
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
+
| width="90%" | X
|}
 
 
 
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
|-
 
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
+
| colspan="2" | X Axis coordinate, specifies the location of the left edge of the bitmap image&nbsp;
| 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-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="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | R
+
| width="90%" | Orientation
 
|-
 
|-
| colspan="2" | &nbsp;
+
| 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="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | G
+
| width="90%" | Transparency
 
|-
 
|-
| colspan="2" | &nbsp;
+
| 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="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | B
+
| width="90%" | Flip
 
|-
 
|-
| colspan="2" | &nbsp;
+
| colspan="2" | 0=Normal, 1=FlipWidth, 2=FlipHeight, 3=FlipBoth&nbsp;
 
|-
 
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
+
| 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''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===Display_BMP_Fast===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| 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'''
+
| 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. 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 120: 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%" | Mode
 +
|-
 +
| colspan="2" | 0=RowByRow, 1=FullWindow(Y Flipped)&nbsp;
 +
|-
 +
| width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL
 
| width="90%" | Orientation
 
| width="90%" | Orientation
 
|-
 
|-
| colspan="2" | 0=Normal, 1=90 Degrees CW, 2=180 Degrees, 3=270 Degrees CW&nbsp;
+
| colspan="2" | 0=Default, 1=Rotated 90 Degrees (only works with Mode 0)&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''
 +
|}
 +
 
 +
 
 +
===GetHeight===
 +
{| 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'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
+
| colspan="2" | Returns the height of the loaded bitmap file in pixels.&nbsp;
| 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="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Flip
+
| width="90%" | Filename
 
|-
 
|-
| colspan="2" | 0=Normal, 1=FlipWidth, 2=FlipHeight, 3=FlipBoth&nbsp;
+
| colspan="2" | The filename of the bitmap we want to measure&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-u16-icon.png]] - UINT
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
  
  
 +
===GetWidth===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| 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'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetWidth'''
 
|-
 
|-
| 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" | Returns the width of the loaded bitmap file in pixels.&nbsp;
 
|-
 
|-
 
|-
 
|-
Line 151: Line 152:
 
| width="90%" | Filename
 
| width="90%" | Filename
 
|-
 
|-
| colspan="2" | Bitmap file to open from current directory on SD card 8.3 format&nbsp;
+
| colspan="2" | The filename of the bitmap we want to measure&nbsp;
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | X
+
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 +
|}
 +
 
 +
 
 +
===SetTransparentColour===
 +
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
| colspan="2" | X Axis coordinate, specifies the location of the left edge of the bitmap image&nbsp;
+
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 +
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTransparentColour'''
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
+
| colspan="2" | Sets the transparency colour, the colour that is not drawn when transparency is enabled.&nbsp;
| 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="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Orientation
+
| width="90%" | R
 
|-
 
|-
| colspan="2" | 0=Normal, 1=90 Degrees CW, 2=180 Degrees, 3=270 Degrees CW&nbsp;
+
| colspan="2" | &nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Transparency
+
| width="90%" | G
 
|-
 
|-
| colspan="2" | 0=Off, 1=On Don't Draw Any Pixels which match the transparent colour&nbsp;
+
| colspan="2" | &nbsp;
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
 
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
| width="90%" | Flip
+
| width="90%" | B
 
|-
 
|-
| colspan="2" | 0=Normal, 1=FlipWidth, 2=FlipHeight, 3=FlipBoth&nbsp;
+
| colspan="2" | &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-void-icon.png]] - VOID
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
 
 
  
  
Line 208: 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