C# picturebox上的图形类型文本

C# picturebox上的图形类型文本,c#,.net,winforms,graphics,C#,.net,Winforms,Graphics,有没有办法在PictureBox或面板上键入/编辑文本?当用户单击PictureBox上的某个位置时,会显示插入符号并允许用户键入文本。我正在制作一个关于图形的程序。我希望它像MS Paint或Photoshop中的文本工具一样。但我不知道。有人对此有经验,请给我一个指导。以下是一些代码,您可以使用这些代码来让它为您工作: private void image_Click(object sender, EventArgs e) { float y = (float)Cur

有没有办法在PictureBox或面板上键入/编辑文本?当用户单击PictureBox上的某个位置时,会显示插入符号并允许用户键入文本。我正在制作一个关于图形的程序。我希望它像MS Paint或Photoshop中的文本工具一样。但我不知道。有人对此有经验,请给我一个指导。

以下是一些代码,您可以使用这些代码来让它为您工作:

private void image_Click(object sender, EventArgs e)
    {
        float y = (float)Cursor.Position.Y -50;
        float x = (float)Cursor.Position.X -50;

        Bitmap b = new Bitmap(@"C:\Users\Dozer789\Downloads\notepad-png.bmp");

        RectangleF r = new RectangleF(x, y, 0, 0);

        Graphics g = Graphics.FromImage(b);

        g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
        g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
        g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
        g.DrawString("yourText", new Font("Thaoma", 8), Brushes.Black, r);

        g.Flush();

        image.Image = b;
    }
你将不得不编辑和添加一些东西,但这至少是一个开始


希望这能奏效

以下是一些代码,您可以使用这些代码让它为您工作:

private void image_Click(object sender, EventArgs e)
    {
        float y = (float)Cursor.Position.Y -50;
        float x = (float)Cursor.Position.X -50;

        Bitmap b = new Bitmap(@"C:\Users\Dozer789\Downloads\notepad-png.bmp");

        RectangleF r = new RectangleF(x, y, 0, 0);

        Graphics g = Graphics.FromImage(b);

        g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
        g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
        g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
        g.DrawString("yourText", new Font("Thaoma", 8), Brushes.Black, r);

        g.Flush();

        image.Image = b;
    }
你将不得不编辑和添加一些东西,但这至少是一个开始


希望这能奏效

@grantwiney请再次检查问题,我刚刚编辑过。不要担心字体颜色/大小。我想我可以在添加文本时处理它。我的问题是在图片框中键入文本,就像在文本框中一样。我们可以选择,移动插入符号…@GrantWinney请再次检查问题,我刚刚编辑了它。不要担心字体颜色/大小。我想我可以在添加文本时处理它。我的问题是在图片框中键入文本,就像在文本框中一样。我们可以选择,移动插入符号…这是在代码中绘制文本。我早就知道了。但我需要的是界面,用户可以交互。单击某处,然后键入一些内容。就像你在MS Paint中添加一些文本的方式。它有一个插入符号,你也可以移动插入符号或选择文本。例如DrawStringyourText,new Fonthaoma,8,Brush。黑色,r;yourText在编译时未知。这就是问题所在。我们不是来为你编写代码的,我们是来帮助你的,你甚至没有发布任何代码,你想让我为你编写整个代码。我的建议是,你自己开始打字,这会给你经验,也会消除错误。哦,我知道你的代码在工作。看来你不明白我的意思。我不知道怎么做,所以我把这个话题作为一个起点。您的代码是在鼠标单击位置绘制文本。我早就知道了。但是如果我们有文本,它是可以做到的。在我的例子中,用户将自己键入文本。在图片框中键入。它们单击并显示插入符号。然后他们开始输入他们想要的。这是在代码中绘制文本。我早就知道了。但我需要的是界面,用户可以交互。单击某处,然后键入一些内容。就像你在MS Paint中添加一些文本的方式。它有一个插入符号,你也可以移动插入符号或选择文本。例如DrawStringyourText,new Fonthaoma,8,Brush。黑色,r;yourText在编译时未知。这就是问题所在。我们不是来为你编写代码的,我们是来帮助你的,你甚至没有发布任何代码,你想让我为你编写整个代码。我的建议是,你自己开始打字,这会给你经验,也会消除错误。哦,我知道你的代码在工作。看来你不明白我的意思。我不知道怎么做,所以我把这个话题作为一个起点。您的代码是在鼠标单击位置绘制文本。我早就知道了。但是如果我们有文本,它是可以做到的。在我的例子中,用户将自己键入文本。在图片框中键入。它们单击并显示插入符号。然后他们开始键入他们想要的内容。