João Henrique Braga Ответов: 4

Как изменить разрешение экрана - C #


Я делаю программу, где я хотел бы работать с 300 PPI, но когда я использую свойство "экран.Разрядность.ToString ())" чтобы проверить PPI, результат равен только 32, но это свойство просто get

Что я уже пробовал:

Я не знаю, где я могу это изменить ... кто-нибудь знает, чтобы сообщить мне?

4 Ответов

Рейтинг:
16

MadMyche

Ну, вы можете пробовать работа с другими различными свойствами как самого Screen и SystemParameters классы для получения разрешения и плотности

int DPI = Screen.PrimaryScreen.Bounds.Width / SystemParameters.PrimaryScreenWidth;
Теперь изменение его на 300 кажется неосуществимым/неразумным.... монитор 4K, работающий с такой плотностью, будет иметь только 15-дюймовый диагональный экран

Возможно, вы также захотите провести некоторые исследования по Определения DPI - так как это может быть вам полезно.

Рекомендации:
Экран.Свойство PrimaryScreen (System.Окна.Формы) | Microsoft Docs[^]
Класс SystemParameters (System.Windows) | Microsoft Docs[^]
Плотность пикселей и удобство использования | Microsoft Docs[^]


João Henrique Braga

команда не компилировала "SystemParameters.PrimaryScreenWidth;"
но у меня все еще есть сомнения относительно того, как я могу сделать рисунок с помощью компьютера и иметь возможность печатать в масштабе, вы понимаете мое сомнение ?? Я хочу сделать линию, которая будет ровно 15 сантиметров, например, через код.

MadMyche

Вы только что выдвинули вперед то, что полностью отсутствует в вашем вопросе - что вы намереваетесь сделать это для печати, которая полностью отличается от разрешения экрана.

João Henrique Braga

хорошо, спасибо за вашу помощь.

Рейтинг:
1

0x01AA

В случае, если вам действительно нужно изменить разрешение (для которого я могу себе представить только очень очень просмотренные случаи), следуйте этому принятому решению здесь: Как изменить разрешение экрана в C #?[^]


Рейтинг:
1

Dave Kreskowiak

BitsPerPixel не имеет ничего общего с PPI (точками на дюйм). Это число битов, используемых для представления информации о цвете для одного пикселя в изображении.

Изменение разрешения экрана по любой причине-это действительно плохая идея, и, скорее всего, ваше программное обеспечение будет удалено при первой же попытке сделать это.


0x01AA

О, что за чертовщина... как бы то ни было, я читаю PPI как пиксель на дюйм, пожалуйста, пропустите мой ответ :)

João Henrique Braga

Я понимаю, как бы у меня был доступ к информации о пикселях на дюйм, которая используется в программе? потому что мне нужно это знать, чтобы преобразовать реальные измерения (метры) в фиктивные измерения (пиксели)

Рейтинг:
0

Patrice T

Цитата:
Я не знаю, где я могу это изменить ... кто-нибудь знает, чтобы сообщить мне?

Плохая идея !
Только несколько советов.
У каждого клиента будут отличные причины иметь свой экран таким, какой он есть:
- Размер экрана
- Разрешение экрана
- Нарушение зрения
- Другие приложения, работающие на экране
- Изменение разрешения экрана меняет размер стола и может привести к тому, что вы испортите положение иконок.
- ...

Единственное, что разумно сделать, - это масштабировать отображение вашего приложения в его окне. И, вероятно, предоставить инструмент масштабирования, чтобы клиент мог изменять масштаб по своему усмотрению (см. Как работает масштабирование в Excel).