|
|
On 29 Oct 2020, at 19:04, 'Brian Tilley' wrote:
On Thu, 29 Oct 2020 at 16:39, Greg Ercolano wrote:
On 2020-10-29 08:57, Dave Branson
wrote:
I'm attempting to display a logo on the screen of
my Pi. When I run the C++ code below I get the window with it's
label to display, but not the JPEG image. The code compiled and
linked, and the image resides in the same directory as the
code. Any advice would be appreciated.
Try supplying the absolute path to the image, e.g.
// Load the
image
logo = new
Fl_JPEG_Image("/some/absolute/path/logo.jpg");
Also, add some error checking to the jpg file loading
process; it might be saying the file
couldn't be opened for some reason.. see the error
checking example on this page.
Wouldn’t it be easier to use the getcwd() call to get the path to the folder in which the program was started? The program may not be installed in the same folder by another user.
Hi Brian,
Been a while - how’s the lockdown working out for you folks...?
Anyway: no, getcwd() probably will not help here. On Linux/X11 based systems, like a Pi, if you launch the process from the command line the process *usually* inherits the cwd of the shell it was launched from, which may well not be the directory in which the executable resides.
Worse, the various X11 Window Managers have a range of different, “interesting”, ideas about what cwd to pass to the processes they spawn when you click on an icon, so that even if you figure out something that works for you, it might not work for someone using a different WM.
(MS) Windows is simpler, as processes generally inherit their own directory as cwd at start. OSX does something weird that I can’t recall now, but if you put things in a bundle that makes that work out better anyway...
At some point in the past, I posted some code that works (cross platform) to fetch the “home” directory for the executable file (which I needed to solve this exact issue...) but I don’t seem to have it now.
Oh, no, hold on: here we go (attached.)
--
You received this message because you are subscribed to the Google Groups "fltk.general" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fltkgeneral+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fltkgeneral/E489A8A4-AA2E-4CE3-B457-D9C15B4D4E4F%40gmail.com.
|
[ Direct Link to Message ] | |
|
| |