问题标签 [system.drawing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1130 浏览

c# - 使用 Icon.ExtractAssociatedIcon 时出错

我正在尝试根据所选文件加载图标:

当我通过 VS 在本地运行此代码时,一切正常。但是,在我部署/安装包含此代码的应用程序后,我收到一条错误消息:

“[我的程序] - 无法找到组件:此应用程序无法启动,因为找不到 libapr_tsvn.dll。重新安装应用程序可能会解决此问题。”

奇怪的是,单击“确定”后,我的程序将继续按预期运行,并且Icon对象已正确设置/显示。搜索显示这可能是来自 Tortoise SVN 的 dll,我将其用于版本控制。有什么想法吗?

0 投票
4 回答
3161 浏览

graphics - Out Of Memory exception on System.Drawing in a Windows Service

I am getting in out of memory exception while using system.drawing intensively in my windows service.

here is a part of my code:

The exception is not only raised in this point, it is also raised in other points sometimes where it involves drawing, cropping, resizing, image copy

I am always disposing all the used objects.

I saw this article about the "Out of memory exception" in system.drawing here

and while it is very similar to my case it is different because my testing data is a repeated chain of 40 images, so if there is an issue in one of them it should appear quickly from the first cycle.

I saw the limitation mentioned here

it says that we should not use system.drawing on Win/Web services.

OK, I need to use it with a windows service for massive images processing, what are the alternatives if any?

0 投票
1 回答
706 浏览

.net - 在 .NET 4.0 中将图标转换为 IPicture?

标准和(某种程度上)支持的答案之一是使用Microsoft.VisualBasic.Compatibility程序集中的Support.IconToIPicture 。但是,在 .NET 4.0 中,“此 API 现在已过时”。

是的,那里有各种解决方案,但我认为如果 Microsoft 正在淘汰这种方法,将会有另一种“受支持”的替代方案。

0 投票
5 回答
677 浏览

.net - 使用 System.Drawing,如何绘制模仿黄色高亮标记效果的东西?

我想要显示黄色“背后”的东西。

编辑 1:但是,如果我在“白色”上绘图,我希望标记颜色保持其纯黄色。

编辑 2:@Kevin 的答案可能是正确的,我将其标记为正确,即使我没有对其进行编码。在我的代码中,我使用 Color.FromArgb 来解决 @Guffa 的答案。

编辑 3:我发布了性能不错的代码。是的,减去蓝色是基本思想,但是你不能用高级 API 来做,而且 SetPixel 太慢了。性能好的方案使用Bitmap.LockBits、UnlockBits。

0 投票
4 回答
4672 浏览

c# - System.Drawing.Icon 构造函数抛出“操作成功完成”异常

在 Windows XP 机器上,以下代码抛出 System.ComponentModel.Win32Exception 并显示消息“操作成功完成”

我可以阻止程序崩溃

但当然图标没有设置。

完整的堆栈跟踪是

第 50 行是我发布的原始行。

这是一个 WPF 应用程序,在 Windows 7 机器上代码运行良好。

编辑:原来图标在 Windows XP 中根本不起作用,添加 256 色版本似乎已经修复它。

0 投票
2 回答
17583 浏览

c# - 在 C# 中拖放矩形

我想知道如何在 C# 中绘制矩形并将其拖放到页面中我的代码来绘制它,但我无法拖放它。

0 投票
3 回答
28170 浏览

silverlight-4.0 - Silverlight 4.0:如何将 byte[] 转换为图像?

我想将 byte[] 转换为图像,但是 Silverlight 不支持 System.Drawing.Image。有什么选择吗?

0 投票
5 回答
1049 浏览

c# - 三种 System.Drawing 方法显示缓慢的绘图或闪烁:解决方案?或其他选项?

我正在通过 System.Drawing 进行一些绘图,但我遇到了一些问题。

我将数据保存在队列中,并将数据绘制(绘图)到三个图片框

此方法填充图片框,然后滚动图形。

所以不要在以前的图纸之上绘制(并且逐渐看起来更混乱),我找到了两种绘制图表的解决方案。

  1. plot.Clear(BACKGOUNDCOLOR)在绘制循环之前调用 [块评论]

尽管这会导致从执行实际绘图循环所需的时间开始出现闪烁。

  1. plot.DrawLine(channelPen[5], j, 140, j, 0);在每个绘制线之前调用 [评论]

虽然这会导致绘图开始正常,然后很快减速到爬行,就好像在绘图命令之前放置了一个等待命令。

这是供参考的代码:

有什么技巧可以避免这些开销吗?

如果没有,会有其他/更好的解决方案吗?

编辑:有关解决方案代码,请参阅下面的 [最终解决方案]

0 投票
1 回答
225 浏览

c# - C#:仅绘制路径的一部分

我在 GraphicsPath 中有一系列点;出于我们的目的,假设它是大写 B 的轮廓。我希望能够仅绘制类似于大写 L 的底部。

我希望能够从 GraphicsPath 中选择一个点窗口。有没有一种方便的方法可以在不进行点插值的情况下做到这一点?即必须编写代码来计算斜率数学和可能的导数?

0 投票
4 回答
35432 浏览

c# - C#图形闪烁

我正在开发一种绘图程序,但在绘制橡皮筋线时移动鼠标光标时出现闪烁问题。我希望你能帮助我消除闪烁的线条,这里是代码: