Как автоматически переводить строки в Windows Mobile с помощью C # - PullRequest
0 голосов
/ 29 октября 2010

Я хочу добавить текст к изображению, потому что текст слишком длинный, поэтому мне нужно проверить text.width> image.width, если да, мне нужен автоматический newline.also мне нужно проверить text.height> image.height, если да, мне нужно другое изображение для рисования текста. Я также нарисовал текст на изображении.

  public int makePictrue(string address, string pictrueAddress, string[] str, int[][] intPoint, Font font, SolidBrush solidB)
    {
        try
        {
            for (int i = 0; i < str.Length; i++)
            {
                Bitmap bmp;
                if (pictrueAddress.Trim() == "")
                {
                    bmp = new Bitmap("1.jpg");
                }
                else
                {
                    bmp = new Bitmap(pictrueAddress);
                }

                g = Graphics.FromImage((Image)bmp);

                g.DrawString(str[i], font, solidB, intPoint[i][0], intPoint[i][1]);

                MemoryStream stream = new MemoryStream();

                bmp.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg);
                bitmap = bmp;

            }

            return 1;
        }
        catch (Exception ex)
        {
            return 0;
        }
    }

1 Ответ

1 голос
/ 29 октября 2010

Используйте MeasureString, чтобы получить размер текста, который вы хотите нарисовать, и вам нужно указать, каким шрифтом вы хотите рисовать, и вместо того, чтобы указывать исходную точку для рисования, дайте прямоугольник для рисования внутри.

g.MeasureString()

Вы можете использовать StringFormat для установки некоторых параметров рисования текста, таких как NoClip, NoWrap ...

...