节省图片和图片组成的图片框

时间:2019-05-02 15:10:12

标签: c# image graphics bitmap

这就是我想要做的。我有一个1920X1080的图像。我在PictureBox中显示该图像,并允许用户在屏幕上绘制椭圆。一旦完成,我将需要将该图像与图像一起保存,并在一张照片中将其椭圆化。

所以我尝试了几种方法: 1.只是尝试从PictureBox中保存图像和椭圆。这样做没有成功。 2.将椭圆的位置存储在图片框上,然后使用图形对象在该图像的新副本上重绘该椭圆。这个问题是,由于PictureBox的大小和原始图像的差异,当保存椭圆时,它不在正确的位置。

private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
{
   pictureBox1.Cursor = Cursors.Default;
   if (isMoving)
   {
      Circles.Add(mouseDownPosition, mouseMovePosition);
   }
   isMoving = false;
}
Bitmap newImage = new Bitmap(new Bitmap(@"C:\Personal\test\Sample.jpg"));
Graphics g = Graphics.FromImage(newImage);
foreach (var circle in Circles)
     {
        g.DrawEllipse(new Pen(Color.Red, 3), new Rectangle(circle.Key, new Size(circle.Value.X - circle.Key.X, circle.Value.Y - circle.Key.Y)));
     }
newImage.Save(@"C:\Projects\Projects\SampleCombine.jpg");

我真的只是在寻找一种方法,以完全按照我在PictureBox上看到的内容并将其另存为自己的jpg。

我的观点是,我需要根据绘制的位置以及应在更大的文件上绘制的位置,弄清楚如何重新定位“圆形”。

有什么想法吗?

0 个答案:

没有答案