Windows窗体应用程序中的背景分辨率差

时间:2017-02-25 21:11:08

标签: c# winforms imagelist

我一直致力于在Windows窗体应用程序中创建的程序。背景会根据您按下的键而有所不同。

即使我在Photoshop中制作了背景并将其保存在高质量设置中,但图片质量仍然很差(甚至不是HD质量)。

从图像列表中随机挑选图片。我使用“拉伸”选项可以自动调整图像大小。

如何提高图片质量?

this.BackgroundImage = imageList1.Images[Number2];
BackgroundImageLayout = ImageLayout.Stretch;

1 个答案:

答案 0 :(得分:3)

ImageList只能保存 256x256 像素或更少像素,并将您添加的所有图像转换为您设置的一个尺寸。

它意味着保存小东西,例如listview和树视图图像,状态图像和其他基本上图标大小的图形。 - 请注意,默认情况下,ImageList.Image的大小和颜色深度甚至更低......:

  

ImageList 通常由其他控件使用,例如ListView,   TreeView或ToolBar。您可以将位图或图标添加到ImageList,   其他控件可以根据需要使用图像。

     

ImageList.ImageSize :定义图像高度和宽度(以像素为单位)的大小   在列表中。默认大小为16 x 16.最大大小为256 x   256。

     

ImageList.ColorDepth 图像的可用颜色数。在.NET Framework中   版本1.0,默认为Depth4Bit。在.NET Framework版本中   1.1或更高版本,默认值为Depth8Bit。

你的照片肯定要大得多;所以你需要在List<Bitmap>

中保存图像
List<Bitmap> images = new List<Bitmap>()

现在加载列表,可能是您存储为resource的位图,然后照常访问:

this.BackgroundImage = images[someNumber2];
...

当然,另一种方法是从磁盘加载它们。