У меня есть этот код, куда я загружаю / помещаю изображение в поле для картинок.Теперь я хочу перетащить его в pictureBox с помощью MouseEvents.Как это сделать, когда мое изображение нарисовано с использованием другого класса?
Класс изображения
public void ImageDrawing(Bitmap bm, RectangleF rect, PaintEventArgs e)
{
this.image = bm;
this.width = rect.Width;
this.height = rect.Height;
this.rect = rect;
Graphics g = e.Graphics;
bm = ImageClass.GrayscaleImage(bm);
bm.MakeTransparent(Color.White);
g.DrawImage(bm, rect);
}
Основная форма
private void btn_Browse_Click(object sender, EventArgs e)
{
PaintImage();
}
public void PaintImage()
{
buttons = (Shape.ShapeType)System.Enum.Parse(typeof(Shape.ShapeType), "image");
// open file dialog
OpenFileDialog open = new OpenFileDialog();
// image filters
open.Filter = "Image Files(*.jpg; *.jpeg; *.gif; *.bmp); *.PNG|*.jpg; *.jpeg; *.gif; *.bmp; *.PNG";
if (open.ShowDialog() == DialogResult.OK)
{
//Display image in picture box
string strType = Path.GetExtension(open.FileName);
FileInfo fs = new FileInfo(open.FileName);
long fileSize = fs.Length / 1024;
ImageBitmap = new Bitmap(open.FileName);
}
imageHeight = ImageBitmap.Height / 3f;
imageWidth = ImageBitmap.Width / 3f;
imageX = (shape.center.X - (imageWidth / 2));
imageY = (shape.center.Y - (imageHeight / 2));
imageRect = new RectangleF(imageX, imageY, imageWidth, imageHeight);
pictureBox_Canvass.Refresh();
}