- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下内容
private bool IsPathVisible(Rectangle detectorRectangle, GraphicsPath path, Pen pen)
{
path.Widen(pen);
return IsPathVisible(detectorRectangle, path);
}
当 path
点是同一点时,我收到 OutOfMemoryException(使用 Widen
函数)。
我该如何管理它?
最佳答案
这是 pen 和 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 throw OutOfMemoryException if the path has a single point
关于.net - GraphicsPath 和 OutOfMemoryException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6927774/
此应用程序中的简单曲线仅在将其拖出屏幕或调整窗口大小时才会出现。当应用程序刚启动时它不会出现,当窗口最大化或最小化时它也会消失。然而,所有这些时间,都会打印“Path Drawn”,因此所有绘画函数都
使用 .NET 的 System.Drawing.Graphics GDI 东西,我有一个由两个点数组组成的形状。它们是下图中的红色和绿色像素。 现在我试图用一种颜色填充这个形状的内部。将其绘制为简单
我正在制作一些实用程序类,它们可以将不同类型的符号放置到 CAD 图纸的立面上。我想确保如果我需要处理我这样做的 GraphicsPath 对象。 在下面 getCircle 函数内部的代码中,它表明
我正在尝试在我的程序中绘制一个 GraphicsPath,但它似乎存在向路径添加随机尖峰的问题。路径越宽,情况似乎越糟。我做了一些可以重现这个问题的测试代码。 此代码需要一个包含 PictureBox
我想创建一个 GraphicsPath 和一个点列表来形成位图非透明区域的轮廓。如果需要,我可以保证每张图片只有一个非透明像素的实体集合。因此,例如,我应该能够沿着像素的边缘顺时针或逆时针记录点并执行
我有以下内容 private bool IsPathVisible(Rectangle detectorRectangle, GraphicsPath path, Pen pen) { pat
如下图所示,PictureBox 中的文本与 TextBox 中的文本不同。如果我使用 Graphics.DrawString() 它工作正常,但是当我使用图形路径时,它会截断并且不显示整个文本。您认
是否可以更改 GraphicsPath 对象中某些点的坐标,同时将其他点留在原处? 传递到我的方法中的 GraphicsPath 对象将包含多边形和线条的混合体。我的方法看起来像: void Upda
恐怕我遇到了 Winforms/GDI+ 中的错误。我正在构建一个由直线和曲线组成的图形路径。在某些缩放级别(将变换矩阵应用于图形对象)路径绘制错误,请参见图片: 在做一些测试时,我注意到如果我将 F
我目前正在使用以下代码向图像添加文本: using (GraphicsPath graphicsPath = new GraphicsPath()) { graphicsPath.AddStr
我正在尝试找出将 .net 中的 GraphicsPath 变形为特定形状的最佳方法。我想要实现的结果是将文本扭曲成曲线向上、向下、向左、向右扇形,以及像波浪一样的东西。所有这些都可以在 Adob
我的文本类中有这个方法,但我似乎无法翻转整个文本。 我正在使用矩阵来转换用于绘制字符串的 GraphicsPath。 这是我使用@Jimi 的回答后的代码: public LayerClass
我创建一个 GraphicsPath 对象,添加一个椭圆,旋转 GraphicsPath 对象然后绘制它。现在我想获取 graphicsPath 最左边的点,这样我就可以检查它是否在特定边界内(用户可
我正在尝试制作一个可以从 GraphicsPath 中删除点的橡皮擦工具。到目前为止,我的代码允许用户在窗体上绘画,“删除”按钮应该删除 GraphicsPath 的前 20 个点。它一直有效,直到制
我需要为 GraphicsPath 对象创建一个扩展方法,以确定 GraphicsPath 是顺时针还是逆时针。 像这样: public static bool IsClockwise(Gra
我有一些看起来像这样的代码: GraphicsPath p = new GraphicsPath(); // Add some elements to p ... // ... g.FillPath(
出于某种原因,如果我使用 AddString 将字符串添加到 GraphicsPath,字体将比在字体对话框中看起来要小。 SizeF sz = g.MeasureString(Text, new
我需要将任意形状的 GraphicsPath“适合”到定义的空间(几乎总是矩形或圆形)。 我目前使用 Matrix 对象缩放 GraphicsPath 并且缩放工作正常,但问题是获取比例因子。 我能想
下面的代码画了一个十字: using (SolidBrush brush = new SolidBrush(Color.FromArgb(192, 99, 104, 113))) { usin
我正在尝试绘制类似具有 3 个参数的形状 半径 居中 cutOutLen 切掉的部分是圆圈的底部。 我发现我可以使用 var path = new GraphicsPath(); path.AddEl
我是一名优秀的程序员,十分优秀!