以下是我所拥有的:
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
}
如您所见,我首先从特定文件夹中选择一个随机图像,然后将其设置为背景图像。
我希望此应用程序以全屏运行。但是,如果我将bgimage ImageLayout属性设置为Zoom,则会出现这种丑陋的边框,如果我将其设置为拉伸,则看起来很糟糕。
我想实现以下目标:
我通过屏幕边界获取当前使用的屏幕大小,然后调整图像以适应屏幕而不会失真。
部分图像将被删除,但主要目的是整个屏幕始终由图像填充(请参阅if中的注释)。我不知道该怎么做,因为如果我尝试
bgimage.Height = UsedScreen.Height
我无法覆盖图像高度。
有什么想法吗?