yes, i've seen that this post is >1.5 years old,
BUT i was searching for exactly the same thing, google led me here, so if anyone searches in the future, he will probably get here too..
I don't have a 100% solution, but found a way to set the background without manually expanding the source picture.
This assumes that you have Esetroot installed.
% fbsetbg -i
Esetroot is a nice wallpapersetter. You won't have any problems.
Then you can e.g. set a centered wallpaper and additionally set a background color (resulting in a canvas around the image):
% Esetroot -bgcolor white -c ~/images/wallpapers/NiceWallpaperSmallerThanDisplayResolution.jpg
colors can be given in hex notation '#rrggbb' as well:
Esetroot -bgcolor '#7a1f00' -c ~/images/wallpapers/NiceWallpaperSmallerThanDisplayResolution.jpg
(just for reference: #7a1f00 is "dirty" orange(/red))
Disadvantage of this approach is that the setting isn't kept over a fluxbox restart as it is the case when using the fbsetbg wrapper (which stores the last wallpaper in ~/.fluxbox/lastwallpaper).
Is there a documentation for the syntax of ~/.fluxbox/lastwallpaper ? I didn't found one. If there is a way to put the Esetroot command in, the background setting would be restored after a fluxbox restart..