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);
}
Другие вопросы по тегам