0 Вопрос: Сохранение картинки из изображения и рисунков

вопрос создан в Thu, May 2, 2019 12:00 AM

Вот что я пытаюсь сделать. У меня есть изображение, которое 1920X1080. Я показываю это изображение в PictureBox и позволяю пользователю рисовать эллипс на экране. Как только они закончат, мне нужно будет сохранить это изображение вместе с изображением и эллипсом на 1 фотографии.

Итак, я попробовал несколько способов: 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
  1. Во втором фрагменте кода необходимо применить отношение размера PictureBox к размеру изображения к размеру кружков, которые вы рисуете на образ. Это исправит вашу проблему с неправильным расположением и размером кругов
    2019-05-02 15: 12: 47Z
  2. См. здесь для простого примера рисования в увеличенной картинке. Обратите внимание, что все SizeModes (кроме) требуют собственных вычислений! - См. здесь для примера, который сохраняет все три слоя Picturebox ..
    2019-05-02 15: 40: 49Z
0 ответов                              0                         
источник размещен Вот