如何使用c#在Windows Mobile中自动换行

时间:2010-10-29 15:01:14

标签: c# windows-mobile

我想为图片添加文字,因为文字太长,所以我需要检查text.width> image.width,如果是,我需要自动newline.also我需要检查text.height> image.height,如果是,我需要其他图像来绘制text.i也在图像上绘制文字。

  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 个答案:

答案 0 :(得分:1)

使用MeasureString获取要绘制的文本的大小,您需要指定要绘制的字体,而不是将原点指向绘制,以便在其中绘制矩形。

g.MeasureString()

您可以使用StringFormat设置一些文本绘图选项,如NoClip,NoWrap ...