Пользователь разместил текст на картинке в C#

Я пытаюсь создать инструмент, который позволит мне выбрать определенное место на картинке, чтобы поместить текст из текстового поля. Он должен быть в состоянии поместить несколько разных текстов в поле для картинок, а затем удастся удалить. Это мой текущий код:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace TextboxTool
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            pictureBox1.Image = new Bitmap(pictureBox1.Width, pictureBox1.Height);
        }

        private void textBox1_MouseClick(object sender, MouseEventArgs e)
        {
            textBox1.Text = "";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Visible = true;
        }

        private void pictureBox1_Click(object sender, EventArgs e)
        {
            Graphics G = Graphics.FromImage(pictureBox1.Image);
            G.DrawString(textBox1.Text, new Font("Tahoma", 40), Brushes.Black, new Point(MousePosition.X, MousePosition.Y));
        }
    }
}

В настоящее время я могу ввести текст в текстовое поле, но не могу нарисовать строку в графическом окне и выбрать его местоположение. У меня есть кнопка, которая предназначена для подтверждения правильности написанного текста, а затем позволяет пользователю выбрать его местоположение. Кто-нибудь может помочь мне разобраться с этим кодом?

Спасибо-

1 ответ

Решение

MousePosition свойство относительно экрана, а не PictureBox,

Вы должны обращаться с MouseClick событие и нарисовать строку в e.X а также e.Y,
Кроме того, вы можете позвонить pictureBox1.PointToClient преобразовать экранные координаты в контрольно-относительные координаты.

Кроме того, вы должны распоряжаться Graphics объект в using заявление.

Наконец, я уверен, что вам нужно позвонить pictureBox1.Invalidate() после изменения изображения, чтобы заставить его перекрасить.

Другие вопросы по тегам