C# 使用GDI+;绘制沿着路径的字符串;
我一整天都在为这个挠头。我需要动态创建一个包含客户端提供的字符串的图像。唯一的问题是,字符串需要沿着下图所示的曲线绘制。我还想指定曲线的角度,因为此文本需要在许多产品上显示,并且曲线在每个产品上都有所不同 我尝试循环字符串并显示每个字符,并为每个字符指定一个特定的坐标,使其类似于抛物线,但为了使其有用,需要旋转每个字符以适应曲线。有没有人从System.Drawing library中得到一些对我有用的建议C# 使用GDI+;绘制沿着路径的字符串;,c#,asp.net,graphics,drawing,gdi+,C#,Asp.net,Graphics,Drawing,Gdi+,我一整天都在为这个挠头。我需要动态创建一个包含客户端提供的字符串的图像。唯一的问题是,字符串需要沿着下图所示的曲线绘制。我还想指定曲线的角度,因为此文本需要在许多产品上显示,并且曲线在每个产品上都有所不同 我尝试循环字符串并显示每个字符,并为每个字符指定一个特定的坐标,使其类似于抛物线,但为了使其有用,需要旋转每个字符以适应曲线。有没有人从System.Drawing library中得到一些对我有用的建议 我发现了这篇关于代码项目的文章,它与在VB.NET中沿路径绘制文本有关-我相信标准代码转
我发现了这篇关于代码项目的文章,它与在VB.NET中沿路径绘制文本有关-我相信标准代码转换器可以为您自动将其更改为C,它可能会解决您的问题
在做了一些研究之后,似乎WPF是生成扭曲文本的最佳途径。几次谷歌搜索让我找到了。XAML的数量很少,而且仍然是用C#编写的。codeproject上的@lneir提供了这段出色的代码。它是可伸缩的,灵活的,写得非常好,最好的部分是。。。没有贝塞尔曲线 我还提到,需要在动态创建的图像上呈现此文本。事实证明,您可以将任何WPF控件转换为图像
感谢您的回复。这家伙有一篇关于这个主题的博文(以及如何用C#实现):试试这个:@MichaelGraczyk的可能副本我能够生成一些曲线文本。我必须替换
textPath.PathPoints[I]=newpointf(finalX,finalY)代码>带有新点[i]=新点F(finalX,finalY);newPath=newgraphicspath(newPoints,textPath.PathTypes)代码>因为PathPoints是只读数组。由于每次迭代都会创建一条新路径,因此效率比我希望的要低。此外,它被压扁和拉伸,因此需要进行一些调整才能使其看起来正确,但尽管如此,文本仍遵循一条曲线路径。