Difference between revisions of "Component: GLCD Bitmap Drawer ROM (Graphical Library)"
Line 17: | Line 17: | ||
==Component Source Code== | ==Component Source Code== | ||
− | Please click here to download the component source project: [https://www.flowcode.co.uk/ | + | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Lib_Draw_Bitmap.fcfx FC_Comp_Source_Lib_Draw_Bitmap.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.fcfx FC_Comp_Source_Lib_Draw_Bitmap.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.fcfx FC_Comp_Source_Lib_Draw_Bitmap.fcfx] | ||
==Detailed description== | ==Detailed description== | ||
+ | |||
+ | |||
Line 44: | Line 46: | ||
==Examples== | ==Examples== | ||
+ | |||
+ | |||
Line 89: | Line 93: | ||
==Macro reference== | ==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. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | BitmapIndex | ||
+ | |- | ||
+ | | colspan="2" | Selects from attached bitmaps. Range: 0-9 | ||
+ | |- | ||
+ | | 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. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | BitmapIndex | ||
+ | |- | ||
+ | | colspan="2" | Selects from attached bitmaps. Range: 0-9 | ||
+ | |- | ||
+ | | 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;" | '''SetTransparentColour''' | ||
+ | |- | ||
+ | | colspan="2" | Sets the transparency colour, the colour that is not drawn when transparency is enabled. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | R | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | G | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | B | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
+ | |||
+ | |||
+ | {| 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. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | BitmapIndex | ||
+ | |- | ||
+ | | colspan="2" | Selects from attached bitmaps. Range: 0-9 | ||
+ | |- | ||
+ | | 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 | ||
+ | |- | ||
+ | | 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 | ||
+ | |- | ||
+ | | 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 | ||
+ | |- | ||
+ | | 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 | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | Flip | ||
+ | |- | ||
+ | | colspan="2" | 0=Normal, 1=FlipWidth, 2=FlipHeight, 3=FlipBoth | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
+ | |||
+ | |||
+ | {| 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. Currently only supports colour displays. | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
+ | | width="90%" | BitmapIndex | ||
+ | |- | ||
+ | | colspan="2" | Selects from attached bitmaps. Range: 0-9 | ||
+ | |- | ||
+ | | 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 | ||
+ | |- | ||
+ | | 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 | ||
+ | |- | ||
+ | | 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 | ||
+ | |- | ||
+ | | 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'' | ||
+ | |} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==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%" | LinkTo | ||
+ | |- | ||
+ | | colspan="2" | | ||
+ | |- | ||
+ | | 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 | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | ||
+ | | width="90%" | ROM Bytes | ||
+ | |- | ||
+ | | colspan="2" | Total number of ROM bytes used to store attached bitmap images. | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] | ||
+ | | width="90%" | Number of Bitmaps | ||
+ | |- | ||
+ | | colspan="2" | Number of bitmaps the component can store and draw to the LCD. Min 1 / Max 10 | ||
+ | |- | ||
+ | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] | ||
+ | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Bitmap 0 | ||
+ | |- | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-13-icon.png]] | ||
+ | | width="90%" | Bitmap File | ||
+ | |- | ||
+ | | colspan="2" | Bitmap file you wish to embed into the program. Compatible with .bmp files in the following formats: 24-Bit / 256 Colour / 16 Colour / Monochrome | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | ||
+ | | width="90%" | File Colour Depth | ||
+ | |- | ||
+ | | colspan="2" | Number of bits per pixel. Currently the component only supports bitmap files with 1-bit or 24-bit colour depth. | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | ||
+ | | width="90%" | File Length | ||
+ | |- | ||
+ | | colspan="2" | The number of bytes of ROM the bitmap file will consume. You can vie wthe number of ROM bytes available on your target device using the Device Helper component. | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | ||
+ | | width="90%" | File Width | ||
+ | |- | ||
+ | | colspan="2" | Width of the bitmap file in pixels | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | ||
+ | | width="90%" | File Height | ||
+ | |- | ||
+ | | colspan="2" | Height of the bitmap file in pixels | ||
+ | |- | ||
+ | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | ||
+ | | width="90%" | Data Offset | ||
+ | |- | ||
+ | | colspan="2" | Offset in the file where the bitmap pixel data starts | ||
+ | |}==Macro reference== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" |
Revision as of 09:58, 27 January 2023
Author | Matrix TSL |
Version | 2.2 |
Category | Graphical Library |
Contents
GLCD Bitmap Drawer ROM component
A component to simplify the process of drawing bitmap images to a graphical display. Stores up to 10 bitmap images inside ROM based look up tables. Compatible with 24-bit / 256 Colour / 16 Colour / 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 download the component source project: FC_Comp_Source_Lib_Draw_Bitmap.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_Lib_Draw_Bitmap.fcfx
Detailed description
No detailed description exists yet for this component
Examples
The Bitmap Drawer component must be linked to the graphical LCD using the gLCD Object property.
Here is an example which loops drawing a monochrome and 24-bit bitmaps to the EBM001 graphical display.
The bitmap files used in the example can be found here.
Here is another example which overlays several monochrome images to give the impression of animation. Shows a pair of eyes, which can randomly and momentarily look left, right or blink.
The bitmap files used in the example can be found here.
Macro reference
GetHeight | |
Returns the height of the loaded bitmap file in pixels. | |
- BYTE | BitmapIndex |
Selects from attached bitmaps. Range: 0-9 | |
- UINT | Return |
GetWidth | |
Returns the width of the loaded bitmap file in pixels. | |
- BYTE | BitmapIndex |
Selects from attached bitmaps. Range: 0-9 | |
- UINT | Return |
SetTransparentColour | |
Sets the transparency colour, the colour that is not drawn when transparency is enabled. | |
- BYTE | R |
- BYTE | G |
- BYTE | B |
- VOID | Return |
Property reference
==Macro reference==
GetHeight | |
Returns the height of the loaded bitmap file in pixels. | |
- BYTE | BitmapIndex |
Selects from attached bitmaps. Range: 0-9 | |
- UINT | Return |
GetWidth | |
Returns the width of the loaded bitmap file in pixels. | |
- BYTE | BitmapIndex |
Selects from attached bitmaps. Range: 0-9 | |
- UINT | Return |
SetTransparentColour | |
Sets the transparency colour, the colour that is not drawn when transparency is enabled. | |
- BYTE | R |
- BYTE | G |
- BYTE | B |
- VOID | Return |
Property reference
==Macro reference==
GetHeight | |
Returns the height of the loaded bitmap file in pixels. | |
- BYTE | BitmapIndex |
Selects from attached bitmaps. Range: 0-9 | |
- UINT | Return |
GetWidth | |
Returns the width of the loaded bitmap file in pixels. | |
- BYTE | BitmapIndex |
Selects from attached bitmaps. Range: 0-9 | |
- UINT | Return |
SetTransparentColour | |
Sets the transparency colour, the colour that is not drawn when transparency is enabled. | |
- BYTE | R |
- BYTE | G |
- BYTE | B |
- VOID | Return |
Property reference
==Macro reference==
GetHeight | |
Returns the height of the loaded bitmap file in pixels. | |
- BYTE | BitmapIndex |
Selects from attached bitmaps. Range: 0-9 | |
- UINT | Return |
GetWidth | |
Returns the width of the loaded bitmap file in pixels. | |
- BYTE | BitmapIndex |
Selects from attached bitmaps. Range: 0-9 | |
- UINT | Return |
SetTransparentColour | |
Sets the transparency colour, the colour that is not drawn when transparency is enabled. | |
- BYTE | R |
- BYTE | G |
- BYTE | B |
- VOID | Return |