GraphicsPath 和 OutOfMemoryException

2024-02-14

我有以下内容

private bool IsPathVisible(Rectangle detectorRectangle, GraphicsPath path, Pen pen)
{
    path.Widen(pen);
    return IsPathVisible(detectorRectangle, path);
}

When path点是相同的点,我收到 OutOfMemoryException (使用Widen功能)。

我该如何管理它?


这是笔和加宽方法的错误。确保路径的起点和路径的终点不相同。

这是一个演示:

private void panel1_Paint(object sender, PaintEventArgs e)
{
  //This works:
  using (GraphicsPath path = new GraphicsPath())
  {
    path.AddLine(new Point(16, 16), new Point(20, 20));
    path.Widen(Pens.Black);
    e.Graphics.DrawPath(Pens.Black, path);
  }

  //This does not:
  using (GraphicsPath path = new GraphicsPath())
  {
    path.AddLine(new Point(20, 20), new Point(20, 20));
    path.Widen(Pens.Black);
    e.Graphics.DrawPath(Pens.Black, path);
  }
}

以下是向 Microsoft 报告的情况:如果路径只有一个点,GraphicsPath.Widen 会抛出 OutOfMemoryException http://connect.microsoft.com/VisualStudio/feedback/details/98287/graphicspath-widen-throw-outofmemoryexception-if-the-path-has-a-single-point

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GraphicsPath 和 OutOfMemoryException 的相关文章

  • 调试VS 2005提示“操作不支持”

    我一直在调试 VS 2005 并将 启动外部程序 设置为 C Program Files Microsoft Visual Studio 10 0 Common7 IDE devenv exe 但按 F5 后出现此错误 尝试运行项目时出错
  • 嵌入式二进制资源 - 如何枚举嵌入的图像文件?

    我按照中的说明进行操作这本书 http www apress com book view 9781430225492 关于资源等的章节 我不太明白的是 如何替换它 images Add new BitmapImage new Uri Ima
  • 获取低阶 N 位

    有什么方法可以获得任何整数的低阶n位 其中n可以是 1 到 32 之间的任意数字 无需预先计算 32 个位掩码 每个订单一个 并使用 操作员 我也不想使用 具有 2 的幂 只是按位运算 Edit 例如 假设用户输入一个整数Num和另一个整数
  • 适合 .Net 开发人员的 Grails/Roo

    我目前正在学习 Grails 和 Roo 绝大多数培训材料都是针对新开发人员或现有 Java 开发人员 有谁知道使用 Net C ASP Net Asp Net MVC 翻译现有开发经验的任何指南 资源或技巧 你做过很多 ASP MVC 吗
  • SvcUtil.exe 与添加引用

    当 VS NET 中的 添加服务引用 提供了您需要的所有代理类时 为什么有人会使用 SvcUtil exe 有时在 VS 中添加服务引用无法创建有用的代理 相反 它为您提供了一个空的 Reference cs 详细信息here https
  • 根据日期和时间计算下一次运行任务的时间

    我有一个相当具体的问题 根据该任务的配置 找出计算程序中的 任务 下次运行时间的最佳方法 从配置此 任务 的一些事物的定义开始 首先 一个看起来很像框架的枚举DayOfWeek枚举 我称之为DaysOfWeek并将其标记为FlagsAttr
  • xmlns 元素的顺序重要吗

    我不知道如何在 google 中搜索此内容 但是 xmlns 元素的问题在 XML 文件中重要吗 我正在 ASP NET VB 中使用 XMLWriter 创建一个 XML 文件 并且尝试匹配我提供的示例
  • .NET 中应用程序域的常见用途和最佳实践?

    关于何时在应用程序中创建新的应用程序域 有哪些准则和最佳实践 另外 有哪些常见用途以及如何在应用程序中使用多个应用程序域的示例 我见过的最常见的场景是能够通过与主程序不同的安全模型提供可扩展性 在单独的 AppDomain 中加载插件可以实
  • .net 4.5 可以与 .net 4.0 并行工作吗?

    我有兴趣安装 NET 4 5 但我听说这是就地升级 由于我公司的用户使用的是Windows XP 我无法发布任何使用 NET 4 5 的客户端应用程序 http visualstudio uservoice com forums 12157
  • .NET 可移植类库中的 .ToShortDateString 发生了什么

    我想知道为什么没有 ToShortDateString在 NET 可移植类库中 我有 2 个项目 Silverlight 和常规 NET 类库 使用相同的代码 并且代码涉及调用 ToShortDateString on a DateTime
  • 有没有比这更快的方法来查找目录和所有子目录中的所有文件?

    我正在编写一个程序 需要在目录及其所有子目录中搜索具有特定扩展名的文件 这将在本地驱动器和网络驱动器上使用 因此性能是一个问题 这是我现在使用的递归方法 private void GetFileList string fileSearchP
  • __FUNCTION__ 宏的 C# 版本

    有人对 C FUNCTION 宏的 C 版本有好的解决方案吗 编译器似乎不喜欢它 尝试使用这个代替 System Reflection MethodBase GetCurrentMethod Name C 没有 LINE or FUNCTI
  • 需要从 Xamarin 中的选取器中选择至少一项

    在我的应用程序中 有一个选择器和按钮 我想要两件事 需要从选取器中选择至少一项 否则将无法单击按钮 例如就像HTML 中的必需属性 如果值为提供者1 然后导航到此页面 否则如果提供商2 然后导航至此页面 视图中选择器和按钮的代码
  • Visual Studio 2010 的“线程”窗口中的 和 [Thread Destroyed] 详细信息

    我一直在尝试调试与一个应用程序的线程相关的一些问题 当我附加到应用程序时 我看到一个像这样的窗口 这个名为 Thread Destroyed 的线程是什么 应用程序代码肯定不会写这个名称 这意味着线程的调用堆栈不可用 采集引擎 线程在应用程
  • 将“String”转换为 c# .net 中 MD5“String”的 Base64 编码

    如何将我的密码 字符串 转换为 MD5 字符串 的 Base64 编码 就像这个字符串 password to X03MO1qnZdYdgyfeuILPmQ 请在这里帮助我 或者只是让我知道如何转换这个技术 password to X03M
  • VLC 媒体播放器有 C# 界面吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否可以使用 C 控制台应用程序中的包装器从 VLC 播放中当前播放的文件中读取曲目统计信息 时间 标
  • 如何从字符串中提取子字符串直到遇到第二个空格?

    我有一个像这样的字符串 o1 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 如何仅提取 o1 1232 5467 要提取的字符数并不总是相同 因此 我只想提取直到遇到
  • EntityHydrate 任务失败

    我最近安装了 Visual Studio 11 Beta 和 Visual Studio 2010 之后 我无法在 Visual Studio 2010 中构建依赖于 PostSharp 的项目 因此我卸载了 Visual Studio 1
  • .NET 和 Mono 之间的开发差异

    我正在研究 Mono 和 NET C 将来当项目开发时我们需要在 Linux 服务器上运行代码 此时我一直在研究 ASP NET MVC 和 Mono 我运行 Ubuntu 发行版 想要开发 Web 应用程序 其他一些开发人员使用 Wind
  • 将键码转换为相关的显示字符

    在 C Windows Forms 项目中 我有一个不提供 KeyPressed 事件的控件 它是一个 COM 控件 ESRI 映射 它仅提供 KeyUp 和 KeyDown 事件 包含关键事件参数 http msdn microsoft

随机推荐

  • FFmpeg透明PNG黑色轮廓问题

    我正在使用 ffmpeg 对透明 PNG 视频进行编码 我注意到图像周围有一个轻微的黑色轮廓 有什么办法可以去除吗 Output image Transparent PNG sample 我的 ffmpeg 命令 ffmpeg hide b
  • 运行docker容器时出现java not found错误

    我有简单的 Dockerfile 如下 FROM centos centos7 FROM adoptopenjdk openjdk8 jre8u352 b05 ea ubuntu nightly EXPOSE 8080 WORKDIR ho
  • 可变高度滚动 div,相对于可变高度同级定位

    最近我问了这个问题 溢出 滚动 100 容器高度 https stackoverflow com questions 4910883 overflow scroll 100 container height关于如何实现高度可变的垂直滚动di
  • C#:OperationCanceledException:操作已取消

    下面我尝试将数据发送到 eventhub 它会工作几分钟 然后操作取消异常被抛出 关于我在使用 CancellationToken 时出错的地方有任何提示吗 如果那是我应该使用的 或者我该如何解决这个问题 public async void
  • OpenID Connect 是否支持资源所有者密码凭证授予?

    我之前一直使用 OAuth 资源所有者凭据流进行授权 不过 我现在想考虑按照此速度使用 openid connect 进行身份验证和授权 并且想知道 openid connect 是否支持资源所有者凭据流 是的 OpenID Connect
  • Swift stringByEvaluatingJavaScriptFromString

    我尝试在我的 WebView 上使用一些 javascript 和新的 stringByEvaluatingJavaScriptFromString功能 我不太熟悉语法 所以我尝试了 func stringByEvaluatingJavaS
  • 如何在 mongoid 中强制执行唯一的嵌入文档

    我有以下型号 class Person include Mongoid Document embeds many tasks end class Task include Mongoid Document embedded in commi
  • 是否可以将 DDL 更改包装在 PostgreSQL 的事务中?

    我知道在 MySQL ddl 语句中 例如 alter table create table etc 会导致隐式事务提交 当我们转向 PostgreSQL 时 是否可以在一个事务中包装多个 DDL 语句 这将使迁移脚本更加健壮 失败的 DD
  • 用于动态电子邮件的 Angular $compile 模板

    我正在尝试加载一个带有 ng repeats 的 html 模板 然后使用 compile服务对其进行编译并在电子邮件中使用编译后的 html 问题 好吧 在提问之前让我先设置术语 绑定占位符 customer name 绑定值 john
  • 在discord.js中获取用户横幅

    有没有办法使用discord js 获取discord 上的用户横幅 用户横幅是新功能 所以我不确定到目前为止是否有任何方法 我在文档中没有找到任何内容 例如 服务器横幅可用于 https cdn discordapp com banner
  • 如何在perl中不使用key来查找值是否存在于hash中?

    我有一个像这样的哈希图 my name AUS dynamic values my hash a gt x gt 1 gt US 2 gt UK y gt 1 gt AFRICA 2 gt AUS b gt
  • 包含引用类型的结构

    结构是一种值类型 因此如果我将一个结构分配给另一个结构 其字段将被复制到第二个结构中 但是 如果结构体的某些字段是引用类型 会发生什么情况 public struct MyIPEndPoint public String IP public
  • CommonJS 'require' 是否仍在使用或已弃用?

    目前Javascript采用importES6 作为导入模块的标准方式 但是 我有时会看到使用 CommonJS 的代码require代替import 我首先想知道两个是否可以一起使用 但似乎两个不能互换 相关堆栈溢出问题 https st
  • 不存在足够的页面大小 - DB2 插入

    我有一个 DB2 查询 简单插入语句 它试图插入一些 27 列 在这些列中 第 1 列是Clob问题就在那里 为了我的Clob列 有时该值甚至可能包含28K人物 在这种极端的情况下 我收到以下错误 A system temporary ta
  • 如何在运行 Windows 的 Elastic Beanstalk 环境中启用 CloudWatch Logs?

    我有一个网络服务 可以将数据输出到平面文件中 在非 EC2 原始 Windows 实例中 我们使用 EC2Config 服务将日志文件和一些性能计数器传送到 CloudWatch 请参阅此处 http blogs aws amazon co
  • Qt/QML Android 发送自定义 Intent 的最佳实践(共享 URL)

    我想知道是否有任何从 QML 或 c 发送自定义 android 意图的最佳实践技巧 我应该创建一个自定义 android 活动并使用 QAndroidJniObject 类来调用它还是有更好的方法 我的目的是创建一个从 QML 到其他 A
  • Fragment中拦截ActionBar Home按钮

    我可以成功拦截ActionBar我的主页按钮NavigationDrawerFragment 它被添加到我的MainActivity 像这样 Override public boolean onOptionsItemSelected Men
  • PHP 无需等待 sem_acquire?

    不是特定的代码问题 而是一般的代码问题 我试图在工作项目中使用信号量来限制可以同时访问某些进程的用户数量 据我了解如下 iKey ftock sSomeFileLocation sOneCharacterString Generate th
  • 变量变化检测 - Angular

    我对 Angular 相当陌生 主要使用 VueJS 我想知道如何检测变量何时更新 我正在通过 DataService 更新我的变量 我读到ngOnChanges 但我发现这只适用于输入 这几乎是我的代码 import DataServic
  • GraphicsPath 和 OutOfMemoryException

    我有以下内容 private bool IsPathVisible Rectangle detectorRectangle GraphicsPath path Pen pen path Widen pen return IsPathVisi