#c# #windows #macos
#c# #Windows #macos
Вопрос:
Все, что я пытаюсь сделать, это сделать скриншот моего экрана, чтобы я мог использовать его в другом месте. Он захватывает только верхнюю левую часть экрана. Я провел тяжелую отладку и обнаружил, что проблема заключается в том, что, поскольку я запускаю Windows на Mac, значения размера экрана неверны и, следовательно, занимают только часть экрана. Это мой тестовый код, все, что мне нужно, — это охватить весь экран целиком или, в качестве альтернативы, разрешить мне захватывать определенные части экрана, например, середину.
var bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
Screen.PrimaryScreen.Bounds.Height,
PixelFormat.Format32bppArgb);
var gfxScreenshot = Graphics.FromImage(bmpScreenshot);
gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X,
Screen.PrimaryScreen.Bounds.Y,
0,
0,
Screen.PrimaryScreen.Bounds.Size,
CopyPixelOperation.SourceCopy);
CurrentSS = bmpScreenshot;
pictureBox1.Image = bmpScreenshot;
И это то, что он фиксирует:
Комментарии:
1. Как вы запускаете Windows на macOS? Учебный лагерь? Параллели? Виртуальная машина? Удаленный рабочий стол?
2. Я считаю, что это учебный лагерь, единственная проблема заключается в том, что, как я уже сказал, основной размер экрана кажется неправильным
3. Может ли это быть DPI ?
4. @stuartd Да, это может быть так, я попробую, попробую, а затем вернусь к вам с этим 🙂
5. @stuartd Это была проблема, я исправил ее, просто снизив разрешение моего монитора, единственная проблема сейчас, как ни удивительно, изображение имеет низкое разрешение, надеюсь, это не будет проблемой, но я думаю, я доберусь до этого, когда доберусь до него