You can set the view to any size; this does not change the size of the window. The view size affects the co-ordinate system used when setting positions and sizes etc..
If, then, you want to display an image 1920x1080 to fit the screen, you may wish to set the view size to 1920x1080 so that all of your co-ordinates then act as if the window/display is 1920x1080 regardless of the fact that its actual resolution (the number of pixels displayed) might be lower (or higher). If your display has a resolution of 1366x760 and your view is set to 1920x1080, you should display then image as 1920x1080 to fill the display. However, if your resolution is 1366x760 but your view is set to 1366x760, you will need to draw the image scaled down to be 1366x760.
You can scale the image when your draw it. Some detail may be lost when scaling; for smoother results, you may wish to turn on smoothing for the texture (http://www.sfml-dev.org/documentation/2.4.1/classsf_1_1Texture.php#a0c3bd6825b9a99714f10d44179d74324).
You can scale a sprite using its scale method (http://www.sfml-dev.org/documentation/2.4.1/classsf_1_1Transformable.php#a4c48a87f1626047e448f9c1a68ff167e).
The scale is a ratio of its full size so, in the case of the view being 1366x760, you would divide the required size by the original size (member by member), maybe something like:
sprite.setScale(sf::Vector2f(view.getSize().x / window.getSize().x, view.getSize().y / window.getSize().y));
The scale in the above example would be: (1366 / 1920, 760 / 1080) = (0.714583..., 0.703703...)
I figured out a solution - thanks to everyone's help.
Hapax put me on the right track when mentioning sprite.setScale().
http://www.sfml-dev.org/documentation/2.4.1/classsf_1_1Transformable.php#aaec50b46b3f41b054763304d1e727471
-- Bottom Line - You can scale all the sprites by the ratio of the THE USERS DesktopMode
// Create a video mode object
VideoMode vm = VideoMode::getDesktopMode();
// Create and open a window for the game
RenderWindow window(vm, "XYZ GAME!!!", Style::Fullscreen);
// Create a texture to hold a graphic on the GPU
Texture textureBackground;
// Load a graphic into the texture
textureBackground.loadFromFile("graphics/background.png");
// Determine SCALE factors based on "largest item" and users screen
float SCALE_X = (float)vm.width / (float)textureBackground.getSize().x;
float SCALE_Y = (float)vm.height / (float)textureBackground.getSize().y;
// Create a sprite
Sprite spriteBackground;
// Attach the texture to the sprite
spriteBackground.setTexture(textureBackground);
// Scale based on the games "background" --
// which will presumably be the largest texture
spriteBackground.scale(SCALE_X, SCALE_Y);
... etc ...
// Create a texture to hold a graphic on the GPU
Texture textureBee;
// Load a graphic into the texture
textureBee.loadFromFile("graphics/bee.png");
// Create a sprite
Sprite spriteBee;
// Attach the texture to the sprite
spriteBee.setTexture(textureBee);
spriteBee.scale(SCALE_X, SCALE_Y);
spriteBee.setPosition(vm.width + 10, 250 * SCALE_Y);
etc ...
I don't know why the author didn't just explain these concepts in the beginning when setting up the background. Seems like it would be useful because so many people will have different screen resolutions.
Hapax also introduced the idea of a View - which I still need to learn about - perhaps that makes all this scaling easier?
Cheers!