C# 使用 GraphicsPath 在图像上倾斜文本
C# skew text on image using GraphicsPath
我目前正在使用以下代码向图像添加文本:
using (GraphicsPath graphicsPath = new GraphicsPath())
{
graphicsPath.AddString(
"sample text",
new FontFamily("Times New Roman"),
(int)FontStyle.Bold,
graphics.DpiY * 12 / 72,
new PointF(0,0),
StringFormat.GenericDefault
);
graphics.FillPath(new SolidBrush(Color.Red), graphicsPath);
}
我这样做是为了以后添加文本边框时有一个可遵循的路径。
我希望能够为特定 X/Y 值倾斜文本,但不知道如何去做。 GDI 有点新。
如有任何帮助,我们将不胜感激。
使用link,我找到了答案:
https://msdn.microsoft.com/en-us/library/a4t01h2x%28v=vs.110%29.aspx
using (GraphicsPath graphicsPath = new GraphicsPath())
{
graphicsPath.AddString(
"sample text",
new FontFamily("Times New Roman"),
(int)FontStyle.Bold,
graphics.DpiY * 12 / 72,
new PointF(0,0),
StringFormat.GenericDefault
);
Matrix matrix = new Matrix();
matrix.Shear(10, 0);
graphics.MultiplyTransform(matrix);
graphics.FillPath(new SolidBrush(Color.Red), graphicsPath);
}
我目前正在使用以下代码向图像添加文本:
using (GraphicsPath graphicsPath = new GraphicsPath())
{
graphicsPath.AddString(
"sample text",
new FontFamily("Times New Roman"),
(int)FontStyle.Bold,
graphics.DpiY * 12 / 72,
new PointF(0,0),
StringFormat.GenericDefault
);
graphics.FillPath(new SolidBrush(Color.Red), graphicsPath);
}
我这样做是为了以后添加文本边框时有一个可遵循的路径。
我希望能够为特定 X/Y 值倾斜文本,但不知道如何去做。 GDI 有点新。
如有任何帮助,我们将不胜感激。
使用link,我找到了答案:
https://msdn.microsoft.com/en-us/library/a4t01h2x%28v=vs.110%29.aspx
using (GraphicsPath graphicsPath = new GraphicsPath())
{
graphicsPath.AddString(
"sample text",
new FontFamily("Times New Roman"),
(int)FontStyle.Bold,
graphics.DpiY * 12 / 72,
new PointF(0,0),
StringFormat.GenericDefault
);
Matrix matrix = new Matrix();
matrix.Shear(10, 0);
graphics.MultiplyTransform(matrix);
graphics.FillPath(new SolidBrush(Color.Red), graphicsPath);
}