9得票1回答
作为单行向量路径的文本轮廓

为了一个应用程序,我需要将文本/字形作为基于矢量的路径绘制出来。使用 GDI+ GraphicsPath 和 Graphics.DrawPath 或 WPF FormattedText 和 Geometry 都可以正常工作,并且我得到了如第一张图片所示的输出结果。但是是否有可能像第二张图片(显...

7得票1回答
如何使用GDI+将旋转的图像居中?

我正在尝试使用GDI+将旋转的图像居中到目标缓冲区。源缓冲区和目标缓冲区的大小不同。 源缓冲区的大小为图像数据的大小:(宽度,高度)。 目标缓冲区的大小是适合整个旋转图像的矩形大小:(旋转后的宽度,旋转后的高度)。 这是我正在尝试的代码: // Calculate the size ne...

100得票10回答
在Windows Forms上绘制单个像素

我卡在了尝试在Windows Form上打开单个像素的问题上。graphics.DrawLine(Pens.Black, 50, 50, 51, 50); // draws two pixels graphics.DrawLine(Pens.Black, 50, 50, 50, 50); /...

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

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

9得票6回答
在C#中渲染图形

除了 GDI+ 和 XNA,在C#中还有其他渲染图形的方式吗? (用于瓦片地图编辑器的开发。)

22得票8回答
如何在Winforms自定义控件中设置颜色的默认值?

我使用以下方式成功地显示了值: [DefaultValue ( typeof ( Color ), "255, 0, 0" )] public Color LineColor { get { return lineColor; } set ...

7得票1回答
线性渐变画刷无法正确呈现

考虑以下来自标准 System.Windows.Forms.Form 的代码: protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Rectangle test = new Rectangl...

7得票3回答
为什么在OnPaint绘图比图像绘图更快?

我正在寻找一种加速我的游戏引擎绘图的方法,因为当前这是一个重要的瓶颈,导致游戏速度变慢。我正准备将其转换为XNA,但是我刚刚注意到了一些问题。 比如说,我有一个已经加载好的小图像。 Image img = Image.FromFile("mypict.png"); 我们在屏幕上...

13得票3回答
通过减少若干像素来缩短一条线

我正在使用.NET GDI+绘制业务对象的自定义图表,其中包含连接对象的几条线路。 在特定场景中,我需要将一条线路缩短指定数量的像素,例如10个像素,即查找距离线路终点前10个像素的点。 想象一个半径为r = 10像素的圆和一个带有起始点(x1,y1)和终点(x2,y2)的线。圆心位于线段...

18得票6回答
处理字体文件真的有必要吗?

我知道最佳实践是调用任何实现IDisposable的对象的Dispose方法,特别是包装有限资源(如文件句柄、套接字、GDI句柄等)的对象。 但我遇到了一个问题,我有一个带有Font的对象,如果我要让Font得到释放,我必须通过多个对象图层传递IDisposable,并检查很多用法。我在想这...