问题描述:

Here's what I have:

 var rand = new Random();

var files = Directory.GetFiles("C:/Projects/MOMENTUM/MOMENTUM/pics/", "*.jpg");

Image bgimage = new Bitmap(files[rand.Next(files.Length)]);

BackgroundImage = bgimage;

Rectangle UsedScreen = Screen.FromControl(this).Bounds;

if (UsedScreen.Height / UsedScreen.Width > bgimage.Height / bgimage.Width)

{

//SET IMAGE HEIGHT TO SCREEN HEIGHT

}

else

{

//SET IMAGE WIDTH TO SCREEN WIDTH

}

As you see, I first choose a random image from a specific folder and then set this as background image.

I want this application to run in full screen. However, if i set the bgimage ImageLayout property to Zoom, there will be this ugly borders and if I set it to stretch, it will look awful.

I want to achieve the following:

I get the current used screensize via screen bounds, and then adjust the image to fit the screen without being distorted.

Part of the image will be cut away but the main aim is, that the entire screen is always filled out by the image (See the comments in if). I don't know how to do this because if I try

bgimage.Height = UsedScreen.Height

I cant overwrite the image height.

Any ideas?

相关阅读:
Top