Hi,
I’ve made an open-source graphics editor designed to help create visuals for TFT_eSPI, U8g2, AdafruitGFX, and ESPHome.
Pick the GUI library or platform you're using, choose your display size, and start building with visual tools — draw shapes, add text, and more. As you work, a code window below will auto-generate the source code you can copy into your project to reproduce the design.
You can import your own images and convert them into data arrays. There's also a built-in icon library to help you get started quickly.
I prefer an application that can be installed on your PC. An ondine application is a hindrance for me... and installing a server only for one application is too heavy for my taste. GUIslice builder works perfectly for me but I am on Linux. If you use TFT-eSPI, you can install the fonts you want in GUISlice builder. Apart from the fact that you cannot install it locally, your application has advantages.
real text alignment for TFTe_Spi with tft.setTextDatum(TL_DATUM); etc.
support for printing variables instead of fixed texts (input variable name and type, maybe just a template with sprintf ( cString, "%type", variable) , tft.drawText( cString...) )
Layers are very good. Much better orientation in the generated code.
I just cant figure out, what the checkbox "Declare Variable" does...
In my example https://lopaka.app/gallery/7584/15707
i added texts as placeholders for variables e.g.
tft.drawString("1000.00", 20, 17);
later, in my program there are float variables for the axis-values and in the final program there will be something like
char Text[10];
sprintf( Text ,"%7.2f", fXCoordinate);
tft.drawString( Text , 20, 17);
It would be cool to be able to enter a variable name (fXCoordinate) and select the data type and have the addidional code added (luxury-problem, with the layers in the comment, it is very easy to find the lines in the code).
best regards
Bernhard
Aah, i just figured out, what you generate with "Declare Variables" ... That [~] Icon right of the differnet entry-boxes is hard to recognize when it is not selected! Now, as i figured it out, my code looks as follows:
Just one more thing... i just added a second layer to the project. Many objects are the same so i tried copy-past between layers, which did not work. So i copied the code, clicked the second layer, clicked import code, generated a temporary text-file, paste&save, import.
With the imported code, some texts were offset by a few pixels (maybe those were marked with different alignements in the source screen).
Next tiny improval would be to set the name of the wrapper-funtion to the name of the screen.
And next for the wish-list: import code from clipboard
Website is great and useful, but why the hell did you implemented this stupid login system where I always have to enter my email address in order to login to your website? Can’t you code a normal username/password system? This is really stupid idea