46得票2回答
在玻璃上渲染控件:已找到解决方案,需要双缓冲/完善。

我(终于!)找到了一种在玻璃背景上呈现 Windows.Forms 控件的方法,它看起来没有任何主要缺点或任何大的实现时间。这是受 这篇文章 的启发,该文章基本上解释了如何本地覆盖控件的绘制以进行绘制。 我使用了这种方法将控件渲染到位图上,并使用 GDI+ 和适当的 Alpha 通道在 Na...

46得票11回答
如何找到保存图像时出现通用 GDI+ 错误的原因?

我有一个能够长期加载和存储图像的代码,但我发现只有一张图片会导致代码出错:const string i1Path = @"c:\my\i1.jpg"; const string i2Path = @"c:\my\i2.jpg"; var i = Ima...

44得票5回答
不使用 Graphics 对象如何测量字符串长度?

我正在使用像素作为我的字体单位。在某个地方,我正在执行一个命中测试,以检查用户是否在屏幕上某些文本的边界矩形内单击了。我需要使用类似于MeasureString的东西来实现这一点。不幸的是,执行命中测试的代码深入到一个库中,该库没有访问Graphics对象甚至Control的权限。 如何在不...

43得票3回答
如何将位图转换为图像

我正在制作一个中值滤波器,问题是只能在Bitmap中操作像素。之后我想在使用Image的PictureBox中显示结果。我想不出解决方法......唯一能想到的是使用Stream,但不知道如何操作。需要帮助~private void toolStripPerformMedian_Click(o...

41得票2回答
C# - 输出图像到响应输出流时出现GDI+错误

向输出流输出图像时,是否需要临时存储?当将图像保存到文件时,我会收到通常与文件夹权限错误相关的“通用GDI+”错误。 我对这个图像唯一的操作是添加一些文本。即使在不进行修改的情况下直接输出图像,我仍然会收到错误。例如,执行以下操作将导致出现错误:using (Bitmap image = n...

37得票3回答
Image.Save()在保存jpeg文件时使用什么质量级别?

我刚用100%的品质保存了一张JPG图片,结果惊奇地发现文件大小几乎是原文件的4倍。为了进一步调查,我试着打开这张图片并在没有明确设置品质的情况下保存它,结果文件大小和原文件完全相同。我猜这是因为什么都没变,所以直接将原来的位元组写回到了文件中。为了测试我的假设,我在图片上画了一条粗大的对角线...

36得票5回答
图形绘制函数Graphics.DrawImage在处理较大的图片时速度太慢吗?

我目前正在开发一款游戏,希望能够拥有一个带有背景图片的主菜单。 然而,我发现 Graphics.DrawImage() 的方法非常缓慢。我已经进行了一些测量。假设 MenuBackground 是我的资源图片,分辨率为 800 x 1200 像素。我将它绘制到另外一个 800 x 1200 ...

35得票2回答
TextRenderer.MeasureText和Graphics.MeasureString大小不匹配

这不是一个四舍五入的问题。差异约为5个像素。 测试用例字符串:"MACD(26,12,9)-0.000016"。e.Graphics.MeasureString("MACD (26,12,9) -0.000016", SystemFonts.DefaultFont).Width) TextR...

35得票8回答
用于ASP.NET的System.Drawing替代方案是什么?

在追踪了数天奇怪的GDI+错误后,我在MSDN上偶然发现了这个有用的提示: System.Drawing命名空间内的类不支持在Windows或ASP.NET服务中使用。在其中一种应用程序类型中尝试使用这些类可能会出现意外问题,例如降低服务性能和运行时异常。 我不知道“ASP.NET...

34得票9回答
你可以使用C#制作一个带有Alpha通道的透明PNG吗?

我有一个多浏览器页面,显示垂直文本。 为了在所有浏览器中垂直渲染文本,我创建了一个自定义页面处理程序,返回一个绘制了垂直文本的PNG图像。 这是我的基本代码(C#3,但对任何版本进行小修改即可): Font f = GetSystemConfiguredFont(); //this se...