Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用GDI+;绘制沿着路径的字符串;_C#_Asp.net_Graphics_Drawing_Gdi+ - Fatal编程技术网

C# 使用GDI+;绘制沿着路径的字符串;

C# 使用GDI+;绘制沿着路径的字符串;,c#,asp.net,graphics,drawing,gdi+,C#,Asp.net,Graphics,Drawing,Gdi+,我一整天都在为这个挠头。我需要动态创建一个包含客户端提供的字符串的图像。唯一的问题是,字符串需要沿着下图所示的曲线绘制。我还想指定曲线的角度,因为此文本需要在许多产品上显示,并且曲线在每个产品上都有所不同 我尝试循环字符串并显示每个字符,并为每个字符指定一个特定的坐标,使其类似于抛物线,但为了使其有用,需要旋转每个字符以适应曲线。有没有人从System.Drawing library中得到一些对我有用的建议 我发现了这篇关于代码项目的文章,它与在VB.NET中沿路径绘制文本有关-我相信标准代码转

我一整天都在为这个挠头。我需要动态创建一个包含客户端提供的字符串的图像。唯一的问题是,字符串需要沿着下图所示的曲线绘制。我还想指定曲线的角度,因为此文本需要在许多产品上显示,并且曲线在每个产品上都有所不同

我尝试循环字符串并显示每个字符,并为每个字符指定一个特定的坐标,使其类似于抛物线,但为了使其有用,需要旋转每个字符以适应曲线。有没有人从System.Drawing library中得到一些对我有用的建议


我发现了这篇关于代码项目的文章,它与在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是只读数组。由于每次迭代都会创建一条新路径,因此效率比我希望的要低。此外,它被压扁和拉伸,因此需要进行一些调整才能使其看起来正确,但尽管如此,文本仍遵循一条曲线路径。