C# GDI的一些具体问题+;在C中#
我正在尝试用C#和GDI+创建一个小游戏。出于学习目的,我尽量避免使用框架等。所以我有一些具体的问题要问GDI+ 可以用图像填充GDI中的区域对象吗? -如果没有,是否有手动方式 能否读取和设置图形对象(而不是位图)中的单个像素 你有什么建议可以让我提高GDI的整体性能吗C# GDI的一些具体问题+;在C中#,c#,gdi,region,C#,Gdi,Region,我正在尝试用C#和GDI+创建一个小游戏。出于学习目的,我尽量避免使用框架等。所以我有一些具体的问题要问GDI+ 可以用图像填充GDI中的区域对象吗? -如果没有,是否有手动方式 能否读取和设置图形对象(而不是位图)中的单个像素 你有什么建议可以让我提高GDI的整体性能吗 感谢您的帮助许多答案将详述以下几点: 一旦有了区域,它将限制绘制像素的位置。使用Graphics.DrawImage然后 无法读取,只能通过Graphics.FillRectangle(br,x,y,1,1)设置像素这背后的原
感谢您的帮助许多答案将详述以下几点:
区域
,它将限制绘制像素的位置。使用Graphics.DrawImage
然后Graphics.FillRectangle(br,x,y,1,1)设置像素
这背后的原因可能是图形
不仅可以在像素
模式下运行,还可以使用从点到英寸和毫米的各种其他单位
- 使用
。就一个。其他常见作业要求锁定两个(一个输入一个输出)或甚至三个(两个输入一个计算输出)位图锁位
- 知道什么是无效的,通常只有一小部分真正需要它
- 了解ImageList,它的功能不多,但对它的功能非常有用,即缓存大小和颜色深度为1的图像
- 了解何时使用
以及何时使用面板
图片盒
有一个关键点,.NET使它很容易被忽视。位图的像素格式非常重要。使用位图最昂贵的事情是将位图从CPU内存复制到视频适配器的内存。只有当像素的格式与视频适配器使用的格式完全匹配时,该复制才会快速。在所有现代机器上,这是PixelFormat.Format32bppPArgb。差别很大,它比所有其他的都快十倍。这对于堆栈溢出来说太宽了。首先,请每个问题问一个问题。您的前两个还可以(您当前拥有的任何代码示例都很好)。第三个肯定太宽泛了。另一个回答提到了一个关于性能技巧的问题。有点短,但我觉得很好!