WinForms:背景图像嵌入为位图
本文关键字:位图 图像 背景 WinForms | 更新日期: 2023-09-27 18:15:35
我最近从商业应用程序编程转向尝试用。net (c#)创建一个纸牌游戏实现。当然,我也遇到了一些不同之处,其中之一就是游戏应用程序的图像特性。
本能地,在将它们设置为项目属性之前,我将所有用作表单和控件背景的图像保存为jpeg。然后我开始怀疑它们是否被嵌入为位图,或者我是否最好将它们保留为bmp文件。在发帖之前,我试图找到这个问题的答案,但没有任何乐趣。
在设计时设置BackgroundImage属性时,使用jpg文件比bmp文件有显著的好处吗?对于在运行时加载的图像,应用程序附带的图像由于某种原因作为单独的文件存在(可能在资源文件夹中),我可以看到好处,但我不确定前者。
重要的是在设置背景时使用预先计算的图像位图,以提高性能。
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;
}
}
代码样本是从这篇文章中提取的,它解释了其他提高绘制背景图像性能的技术。
希望能有所帮助。