Chefranov
@Chefranov
Новичок

Как сохранить изображение в большем разрешении?

Рисую я изображение в PictureBox который размером 365x292px и когда я из PictureBox сохраняю изображение, то изображение естественно имеет такое же разрешение. В PictureBox рисуется много элементов и координаты фиксированы, а не относительны размеров PictureBox. Не хотелось бы менять вручную все значения.
Как можно сохранить изображение в большем разрешении, например в два раза больше?

Код можно привести на VB.NET или же C#. Языки похожи, думаю не затруднительно будет применить код

Рисую как-то так :
Dim BM As New Bitmap(PictureBox1.Width, PictureBox1.Height, Drawing.Imaging.PixelFormat.Format24bppRgb)
Dim g As System.Drawing.Graphics = Graphics.FromImage(BM)

g.DrawLine(pen3, X1, Y1 * 2 - 50, X2, Y2 * 2 - 50)
g.DrawLine(pen3, X1, Y1 * 2 - 50, X3, Y3 * 2 - 50)
g.DrawLine(pen3, X2, Y2 * 2 - 50, X3, Y3 * 2 - 50)

PictureBox1.Image = BM

Это код не весь, а часть, в качестве примера
  • Вопрос задан
  • 184 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Dmitriyq
Привет, на c#:

Image srcImage = pictureBox.Image;

RectangleF rectangleDest = new RectangleF(0, 0, srcImage.Width * 2, srcImage.Height * 2); // тут масштаб х2
RectangleF rectangleSource = new RectangleF(0, 0, srcImage.Width, srcImage.Height);

Bitmap destBitmap = new Bitmap(Convert.ToInt32(rectangleDest.Width), Convert.ToInt32(rectangleDest.Height));
Graphics graphics = Graphics.FromImage(destBitmap);

graphics.DrawImage(srcImage, rectangleDest, rectangleSource, GraphicsUnit.Pixel);
graphics.Save();

destBitmap.Save("resizable.png");
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы