Снимок экрана с кодом C # - PullRequest
0 голосов
/ 21 марта 2012

Я хочу сделать снимок экрана с полным кодом из одного файла Visual Studio. это возможно?

если да, то как?

Ответы [ 4 ]

2 голосов
/ 21 марта 2012

Вы можете попробовать это

  1. Файл
  2. Печать
  3. Выбор имени принтера в качестве Microsoft XPS Document Writer
  4. Нажмите OK
2 голосов
/ 21 марта 2012

Для поддержки цветов , вы можете вставить код в огромный RichTextBox (или обычного размера с NumericUpDowns для контроля ширины и высоты) и иметь кнопку, которая будет:

var bitmap = new Bitmap(this.richTextBox1.Width, this.richTextBox1.Height);
this.richTextBox1.DrawToBitmap(bitmap, new Rectangle(Point.Empty, bitmap.Size));
bitmap.Save("code.bmp");

Legacy (не поддерживает цвета):

var allCode = "...copy all of the code into here";
var font = new Font("Arial", 13);
SizeF size;

using (var g = Graphics.FromImage(new Bitmap(1, 1)))
{
    size = g.MeasureString(allCode, font);
}

var bitmap = new Bitmap((int)size.Width + 20, (int)size.Height + 20);

using (var g = Graphics.FromImage(bitmap))
{
    g.DrawString(allCode, font, Brushes.Black, 10, 10);
}

bitmap.Save("code.bmp");
2 голосов
/ 21 марта 2012

печатать на что-то вроде писателя PDF?или «Microsoft Office Document Image Writer»?

Подумайте, это будет путь.

0 голосов
/ 24 января 2019

Вы можете использовать это:

Bitmap BmpScreen = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics ScreenShot = Graphics.FromImage(BmpScreen);
ScreenShot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
string file = "C:\\test.jpg";
BmpScreen.Save(file, System.Drawing.Imaging.ImageFormat.Png);

необходимо: using System.Drawing;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...