WinForms:背景图像嵌入为位图

本文关键字:位图 图像 背景 WinForms | 更新日期: 2023-09-27 18:15:35

我最近从商业应用程序编程转向尝试用。net (c#)创建一个纸牌游戏实现。当然,我也遇到了一些不同之处,其中之一就是游戏应用程序的图像特性。

本能地,在将它们设置为项目属性之前,我将所有用作表单和控件背景的图像保存为jpeg。然后我开始怀疑它们是否被嵌入为位图,或者我是否最好将它们保留为bmp文件。在发帖之前,我试图找到这个问题的答案,但没有任何乐趣。

在设计时设置BackgroundImage属性时,使用jpg文件比bmp文件有显著的好处吗?对于在运行时加载的图像,应用程序附带的图像由于某种原因作为单独的文件存在(可能在资源文件夹中),我可以看到好处,但我不确定前者。

WinForms:背景图像嵌入为位图

重要的是在设置背景时使用预先计算的图像位图,以提高性能。

private Bitmap renderBmp;
public override Image BackgroundImage
{
     set
     {
          Image baseImage = value;
          renderBmp = new Bitmap(Width, Height,
              System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
          Graphics g = Graphics.FromImage(renderBmp);
          g.DrawImage(baseImage, 0, 0, Width, Height);
          g.Dispose();
     }
     get
     {
          return renderBmp;
     }
} 

代码样本是从这篇文章中提取的,它解释了其他提高绘制背景图像性能的技术。

希望能有所帮助。