C# искажает текст на изображении, используя 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.
Любая помощь будет принята с благодарностью.
1 ответ
Решение
Используя ссылку, я разобрался с ответом:
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);
}