728x90
반응형
728x170
using System;
using System.Drawing;
using System.Runtime.InteropServices;
#region 화면 배율 계수 설정하기 - GetScreenScalingFactor()
/// <summary>
/// 화면 배율 계수 설정하기
/// </summary>
/// <returns>배율 계수</returns>
public float GetScreenScalingFactor()
{
Graphics graphics = Graphics.FromHwnd(IntPtr.Zero);
IntPtr deviceHandle = graphics.GetHdc();
int PhysicalScreenHeight = GetDeviceCaps(deviceHandle, 117);
int LogicalScreenHeight = GetDeviceCaps(deviceHandle, 10 );
float scalingFactor = (float)PhysicalScreenHeight / (float)LogicalScreenHeight;
return scalingFactor; // 1.25 = 125%
}
#endregion
#region 장치 정보 구하기 - GetDeviceCaps(deviceContextHandle, index)
/// <summary>
/// 장치 정보 구하기
/// </summary>
/// <param name="deviceContextHandle">디바이스 컨텍스트 핸들</param>
/// <param name="index">인덱스</param>
/// <returns>장치 정보</returns>
[DllImport("gdi32")]
private static extern int GetDeviceCaps(IntPtr deviceContextHandle, int index);
#endregion
728x90
반응형
그리드형(광고전용)
'C# > WinForm' 카테고리의 다른 글
[C#/WINFORM] ImageCodecInfo 클래스 : GetImageEncoders 정적 메소드를 사용해 이미지 코덱 정보 구하기 (0) | 2021.08.19 |
---|---|
[C#/WINFORM/.NET5] 누겟 설치 : System.Drawing.Common (0) | 2021.08.15 |
[C#/WINFORM/.NET5] C# 프로젝트 파일에서 비주얼 소스 세이프 태그 제거하기 (0) | 2021.08.01 |
[C#/WINFORM] Windows Media Player COM 객체를 사용해 MP3 파일 재생하기 (0) | 2021.07.31 |
[C#/WINFORM] SoundPlayer 클래스 : WAV 파일 재생하기 (0) | 2021.07.31 |
[C#/WINFORM] Graphics 클래스 : GetHdc 메소드를 사용해 데스크톱 디바이스 컨텍스트 핸들 구하기 (0) | 2021.07.03 |
[C#/WINFORM] Graphics 클래스 : FromHwnd 정적 메소드를 사용해 데스크톱 Graphics 객체 구하기 (0) | 2021.07.03 |
[C#/WINFORM/.NET5] IProgress<T> 인터페이스 : Report 메소드를 사용해 비동기 작업시 진행 상태 보고하기 (0) | 2021.06.27 |
[C#/WINFORM] 누겟 설치 : ImageProcessor.Plugins.WebP (0) | 2021.05.17 |
[C#/WINFORM] 누겟 설치 : ImageProcessor (0) | 2021.05.17 |
댓글을 달아 주세요