Jump to content

How to do a screen dump in my application.


Svenn

Recommended Posts

From an application that is currently not possible. Remember that uGFX is designed for small embedded processors that often cannot read their own framebuffer.

If you want to draw onto a "virtual" display and then save that into a BMP file that is possible. Look at pixmaps. You will still need to do the BMP encoding yourself but you can use GFILE to save it to an SDCard.

If you are just after screenshots for a demo of your product (or something similar), the easiest way is to compile and run your uGFX program on the win32 platform. You can then use the windows snipping tool to take screenshots of what is happening.

Link to comment
Share on other sites

I'd just like to add that µGFX still has everything you need to read back the framebuffer. So if you GDISP driver and/or your hardware supports it, you can use GDISP high-level API to read back the framebuffer and write it to an image.

Another alternative for a GWIN based application is to render everything into a pixmap. If you have a top-level container you can just change the display pointer to render into the pixmap. The pixmap itself already supports writing to an image.
Here's a forum post regarding rendering to GWIN stuff to a pixmap:

 

Link to comment
Share on other sites

Thanks for answer.

I need screen dumps for documentation and manual, so I go for the framebuffer and send this over the UART and then convert it to BMP on the PC.

Is this something that can be done with the µGFX-Studio?

Link to comment
Share on other sites

This is definitely more advanced uGFX functionality and uGFXStudio knows nothing of users so you would need to implement this yourself.

Let me suggest again that the best approach for screendumps for manuals etc is to run your uGFX program on the Win32 emulator and then use the windows screen capture tools. I'm sure the same could be done using the Linux and X combination if that is your preferred development platform.

Link to comment
Share on other sites

I agree that the best solution is to run your µGFX computer on a desktop machine as suggested by @inmarket. µGFX is fully portable. You can take your microcontroller application and compile it to a native Windows / Linux / MacOS application.
Of course, if you did your software design right you can just copy paste the entire thing. Otherwise, just copy the GUI parts.

Link to comment
Share on other sites

This is an embedded application and information on the display is very much affected from the states of the inputs which again from the outputs so this is not an option.

Since this is only a monochrome 128x64 display it's easy to make the screen shoots in paint.

There will be a lot of screen shots so I will go for dumping the framebuffer raw format over UART and then a C# or LabView program to convert it to bmp.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...