当前位置: 动力学知识库 > 问答 > 编程问答 >

Change bg image relative to screen c# winforms

问题描述:

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?

分享给朋友:
您可能感兴趣的文章:
随机阅读: