Как создать изображение, используя текст и степень для поворота текста - PullRequest
0 голосов
/ 31 января 2012

Я хочу написать функцию, которая принимает строковый аргумент как «TEXT» и int аргумент как «DEGREE», и создает png-изображение, пишет «TEXT», поворачивая его со значением «DEGREE».

Может кто-нибудь помочь мне написать это, пожалуйста

спасибо


РЕДАКТИРОВАТЬ 1)

Я пробую это раньше:

public System.Drawing.Bitmap WaterText(Bitmap MainImage,
                                           string Text,
                                           byte Alpha,
                                           byte Size,
                                           string FontName,
                                           string StringColor,
                                           byte MyStyle,
                                           byte MyPosision)
    {
        FontStyle Style;
        switch (MyStyle)
        {
            case 1:
                Style = FontStyle.Regular;
                break;
            case 2:
                Style = FontStyle.Bold;
                break;
            case 3:
                Style = FontStyle.Italic;
                break;
            case 4:
                Style = FontStyle.Underline;
                break;
            default:
                Style = FontStyle.Regular;
                break;
        }
        Florist.APPCode.Struct.TextPosision Posision;
        switch (MyPosision)
        {
            case 1:
                Posision = Florist.APPCode.Struct.TextPosision.Top;
                break;
            case 2:
                Posision = Florist.APPCode.Struct.TextPosision.Middle;
                break;
            case 3:
                Posision = Florist.APPCode.Struct.TextPosision.Bottom;
                break;
            default:
                Posision = Florist.APPCode.Struct.TextPosision.Bottom;
                break;
        }
        Graphics canvas = Graphics.FromImage(MainImage);
        Color Color = HexToColor(StringColor,Alpha);
        StringFormat strformat=new StringFormat();
        strformat.Alignment = StringAlignment.Center;
        switch (Posision)
        {
            case Florist.APPCode.Struct.TextPosision.Top:
                strformat.LineAlignment = StringAlignment.Near;
                break;
            case Florist.APPCode.Struct.TextPosision.Middle:
                //canvas.DrawString(Text, new Font(FontName, Size, Style), new SolidBrush(Color), 0, MainImage.Height/2);
                strformat.LineAlignment = StringAlignment.Center;
                break;
            case Florist.APPCode.Struct.TextPosision.Bottom:
                strformat.LineAlignment = StringAlignment.Far;
                break;
            default:
                strformat.LineAlignment = StringAlignment.Center;
                break;
        }

        canvas.DrawString(Text, new Font(FontName, Size,Style), new SolidBrush(Color),
                new RectangleF(0, 0, MainImage.Width, MainImage.Height), strformat);

        return MainImage;            
    }

но теперь я хочу повернуть текст

Ответы [ 2 ]

0 голосов
/ 31 января 2012

Перед записью строки примените RotateTransform к объекту Graphics, используя угол:

canvas.RotateTransform(angle);
0 голосов
/ 31 января 2012

Вы можете взглянуть на следующую статью , в которой показано, как можно вращать строку при рисовании в графике.Используется метод RotateTransform .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...