Difference between revisions of "Component: GLCD Bitmap Drawer ROM (Graphical Library)"
(17 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
|- | |- | ||
| width="20%" style="color:gray;" | Version | | width="20%" style="color:gray;" | Version | ||
− | | 2. | + | | 2.3 |
|- | |- | ||
| width="20%" style="color:gray;" | Category | | width="20%" style="color:gray;" | Category | ||
Line 15: | Line 15: | ||
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 | 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 | ||
− | == | + | ==Version information== |
− | |||
− | |||
+ | Library Version, Component Version, Date, Author, Info | ||
+ | 13, 2.2, 22-07-24, BR, Updated Bitmap Mono Dummy Component - Testing | ||
+ | 14, 2.3, 24-07-24, BR, Fixed a problem with file size reporting of 4/8 bit bitmaps | ||
+ | 14, 2.3, 24-07-24, BR, Added Pallet size information for 4/8 bit bitmaps | ||
+ | 15, 2.3, 24-07-24, BR, Reduced stored Pallet size by 1/4 | ||
+ | 16, 2.3, 26-07-24, BR, Added reload file property allowing for easier way to update bitmaps from source | ||
+ | ==Detailed description== | ||
''No detailed description exists yet for this component'' | ''No detailed description exists yet for this component'' | ||
==Examples== | ==Examples== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
The Bitmap Drawer component must be linked to the graphical LCD using the gLCD Object property. | The Bitmap Drawer component must be linked to the graphical LCD using the gLCD Object property. | ||
Line 54: | Line 53: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==Macro reference== | ||
+ | |||
+ | ===Display_BMP=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 163: | Line 111: | ||
+ | ===Display_BMP_Fast=== | ||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
Line 168: | Line 117: | ||
| 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. | + | | colspan="2" | Draws the bitmap image from ROM onto the display at the corrdinates X and Y. Speeds up drawing by not assigning X/Y coordinate for each pixel. Currently only supports colour displays. |
|- | |- | ||
|- | |- | ||
Line 186: | Line 135: | ||
| colspan="2" | Y Axis coordinate, specifies the location of the top edge of the bitmap image | | colspan="2" | Y Axis coordinate, specifies the location of the top edge of the bitmap image | ||
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" | [[File:Fc9-bool-icon.png]] - BOOL |
− | | width="90%" | | + | | width="90%" | Mode |
|- | |- | ||
− | | colspan="2" | 0= | + | | colspan="2" | 0=RowByRow, 1=FullWindow(Y Flipped) |
|- | |- | ||
| 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-void-icon.png]] - VOID | ||
Line 196: | Line 145: | ||
− | + | ===GetHeight=== | |
− | |||
− | == | ||
− | |||
{| class="wikitable" style="width:60%; background-color:#FFFFFF;" | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
− | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9- | + | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] |
− | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | ''' | + | | 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'' | ||
+ | |} | ||
+ | |||
+ | |||
+ | ===GetWidth=== | ||
+ | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] |
− | | width="90%" | | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetWidth''' |
|- | |- | ||
− | | colspan="2" | | + | | 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'' | ||
+ | |} | ||
+ | |||
+ | |||
+ | ===SetTransparentColour=== | ||
+ | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]] |
− | | width="90%" | | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetTransparentColour''' |
|- | |- | ||
− | | colspan="2" | | + | | 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'' | ||
+ | |} | ||
+ | |||
+ | |||
+ | ==Property reference== | ||
+ | |||
+ | {| class="wikitable" style="width:60%; background-color:#FFFFFF;" | ||
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]] |
− | | width="90%" | | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties''' |
|- | |- | ||
− | |||
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9-type- | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] |
− | | width="90%" | | + | | width="90%" | LinkTo |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | |
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9-type- | + | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] |
− | | width="90%" | | + | | width="90%" | ColourDisplay |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Automatically detects if the graphical LCD object is colour or monochrome |
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | ||
− | | width="90%" | | + | | width="90%" | ROM Bytes |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Total number of ROM bytes used to store attached bitmap images. |
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9-type- | + | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]] |
− | | width="90%" | | + | | width="90%" | Number of Bitmaps |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Number of bitmaps the component can store and draw to the LCD. Min 1 / Max 10 |
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9-type- | + | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]] |
− | | width="90%" | | + | | width="90%" | Reload Bitmaps |
|- | |- | ||
− | | colspan="2" | | + | | colspan="2" | Reloads all bitmaps from source, useful to do when the bitmap files change. Will automatically reset to No when complete. |
|- | |- | ||
− | | width="10%" align="center" | [[File:Fc9- | + | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]] |
− | | width="90%" | + | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Bitmap 0 |
− | |||
− | |||
|- | |- | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type-13-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-13-icon.png]] | ||
Line 415: | Line 258: | ||
|- | |- | ||
| colspan="2" | Number of bits per pixel. Currently the component only supports bitmap files with 1-bit or 24-bit 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="10%" align="center" | [[File:Fc9-type-21-icon.png]] | ||
Line 430: | Line 268: | ||
|- | |- | ||
| colspan="2" | Height of the bitmap file in pixels | | colspan="2" | Height of the bitmap file in pixels | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | ||
Line 452: | Line 275: | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]] | ||
− | | width="90%" | | + | | width="90%" | Pallet Size |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
+ | | colspan="2" | Number of bytes in the file length used to store the colour pallet | ||
|} | |} | ||
+ | |||
+ | ==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.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] |
Latest revision as of 15:16, 26 July 2024
Author | Matrix TSL |
Version | 2.3 |
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
Version information
Library Version, Component Version, Date, Author, Info 13, 2.2, 22-07-24, BR, Updated Bitmap Mono Dummy Component - Testing 14, 2.3, 24-07-24, BR, Fixed a problem with file size reporting of 4/8 bit bitmaps 14, 2.3, 24-07-24, BR, Added Pallet size information for 4/8 bit bitmaps 15, 2.3, 24-07-24, BR, Reduced stored Pallet size by 1/4 16, 2.3, 26-07-24, BR, Added reload file property allowing for easier way to update bitmaps from source
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
Display_BMP
Display_BMP_Fast
GetHeight
![]() |
GetHeight |
Returns the height of the loaded bitmap file in pixels. | |
![]() |
BitmapIndex |
Selects from attached bitmaps. Range: 0-9 | |
![]() |
Return |
GetWidth
![]() |
GetWidth |
Returns the width of the loaded bitmap file in pixels. | |
![]() |
BitmapIndex |
Selects from attached bitmaps. Range: 0-9 | |
![]() |
Return |
SetTransparentColour
![]() |
SetTransparentColour |
Sets the transparency colour, the colour that is not drawn when transparency is enabled. | |
![]() |
R |
![]() |
G |
![]() |
B |
![]() |
Return |
Property reference
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