Bitmap hh = (Bitmap)System.Drawing.Bitmap.FromFile("example.png");
Graphics.FromImage(hh);
IntPtr ptr = hh.GetHicon();
Cursor c = new Cursor(ptr);
this.Cursor = c;
Я использую этот код для создания пользовательского курсора изображения. Я хочу получить координаты этого пользовательского курсора изображения при событии Click
. Таким образом, эти координаты можно использовать для рисования изображения этого курсора в графическом окне при нажатии на изображение, загруженное в графическое поле. Я делаю это в C #.
Я попробовал другой подход
public partial class Form1 : Form
{
private Bitmap _bmp = new Bitmap(250, 250);
public Form1()
{
InitializeComponent();
panel1.MouseDown += new MouseEventHandler(panel1_MouseDown);
panel1.Paint += new PaintEventHandler(panel1_Paint);
using (Graphics g = Graphics.FromImage(_bmp))
g.Clear(SystemColors.Window);
}
private void pictureBox1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
{
Point mouseDownLocation = new Point(e.X, e.Y);
label1.Text = mouseDownLocation.X.ToString();
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.DrawImage(_bmp, new Point(0, 0));
}
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
using (Graphics g = Graphics.FromImage(_bmp))
{
g.DrawString("Mouse Clicked Here!", panel1.Font, Brushes.Black, e.Location);
}
panel1.Invalidate();
}
private void button1_Click(object sender, EventArgs e)
{
panel1.Image.Save(@"C:\test.jpg", ImageFormat.Jpeg);
}
Но когда я пытаюсь сохранить изображение, я получаю исключение: Ссылка на объект не установлена на экземпляр объекта .
Обратите внимание, что panel1
в приведенном выше коде относится к графическому блоку