7得票2回答
为什么我应该进行手动双缓冲?

我正在使用C#(2.0或3.5,尚未决定)开发一款游戏。这个游戏将在一个六边形网格地图上进行。我知道UI应该使用双缓冲(有很多层,所以绘制速度慢)。我知道可以通过样式启用双缓冲,也可以创建自己的缓冲区并自己处理。但是我在网上找到的大部分建议都是自己处理。我想知道为什么?显然,这样可以避免控件双...

49得票3回答
如何查找实际可打印区域?(PrintDocument)

为什么寻找这个魔术矩形这么难? 在OnPrintPage事件中,我有一个PrintPageEventArgs对象,并且我正在尝试使用Graphics在最大可打印区域的范围内进行绘图。 我已经尝试使用PageBounds、PrintableArea、Graphics.VisibleClipB...

7得票3回答
在另一张图片顶部应用混合模式颜色,绘制图像

在Photoshop中,您可以选择“颜色”(从底部开始的第二个选项)来将混合模式设置为下一层: 如果您只是在图像上方放置了一个渐变,结果可能看起来像这样: 我在某处找到的颜色混合模式的描述是: 颜色会将下层的色调和饱和度更改为上层的色调和饱和度,但保留亮度不变。 我目前的代码是...

87得票18回答
GDI+中的Bitmap.Save方法发生了一般性错误。

我正在尝试上传并保存图像的缩略图到一个缩略图文件夹。 我使用了以下链接: http://weblogs.asp.net/markmcdonnell/archive/2008/03/09/resize-image-before-uploading-to-server.aspx 但是 n...

8得票1回答
渲染半透明/透明覆盖层

我需要一种快速的方法来在屏幕上绘制带透明度支持的叠加层。我已经做了很多搜索,找到了一个潜在的解决方案(它有自己的问题)和另一个不符合我的要求的解决方案; 特别是透明度支持。 我将从后者开始,然后触及前者。 解决方案1 使用一个没有边框的窗体和一个TransparencyKey,这是我发现...

31得票3回答
Windows Aero:选择什么颜色来呈现“玻璃”效果?

我需要在客户区域涂上什么颜色才能让玻璃出现? 我使用了以下代码将我的窗体框架扩展到客户区域: DwmExtendFrameIntoClientArea(self.Handle, margins); 我找不到微软官方文档,说明DWM将寻找什么颜色和/或alpha来替换玻璃。 DwmExt...

12得票1回答
myBitmap.RawFormat与任何已知的ImageFormat不同?

我正在使用GDI+,我像这样创建了一个新的位图:var bmp = new Bitmap(width, height); 现在当我观察它的RawFormat.Guid时,我发现它与所有预定义的ImageFormats不同(而我期望它是JPEG格式)。ImageFormat.Jpeg.Guid ...

17得票4回答
GDI和GDI+有什么区别?

这两个库之间有什么区别吗?

11得票1回答
C++直接绘制到屏幕上(类似于叠加层)

现在许多笔记本电脑都有FN热键来调节音量、亮度等,并通常显示一个视觉提示,完全覆盖在操作系统之上。对于新的Windows 8/8.1系统,这个视觉提示甚至出现在桌面外部的Metro侧栏中。它们不能绘制在无边界窗口内,否则它不会出现在Metro界面上。 我尝试研究DirectX是否可以直接绘制...

9得票2回答
当不在OnPaint()中绘制时使用双缓冲为什么无效?

我正在使用C#/.Net开发一个简单的矢量绘图应用程序。绘图是在面板上完成的,但我并没有使用OnPaint()事件来完成所有绘图 - 实际上,OnPaint()事件只调用另一个方法来绘制文档中的所有内容。 我尝试添加双缓冲,但当我将DoubleBuffered设置为true时,闪烁问题变得更...