Microsoft MVP성태의 닷넷 이야기
글쓴 사람
WPF
홈페이지
첨부 파일
.NET Core 3.0 환경에서 WPF 프로젝트에 Win2D (WinRT용 Direct2D Wrapper)라는 2D 그래픽 라이브러리를 올렸습니다. 그런데 그래픽 품질이 UWP에서랑은 확연하게 차이가 납니다.

https://github.com/pcfulife/win2dtestimage/raw/master/Win2DTestImages.zip

1280x720 해상도에 144 DPI라서 x1.5를 하여 1920x1080으로 렌더링 됩니다. 1920x1080 96 DPI로 하지 않은 이유는 좌표 기준을 720p로 잡고 싶어서 그랬습니다. 아무튼 이런 상태에서 화면 크기를 그나마 늘리면 WPF의 화질 저하는 완화되는데 화면 크기가 작으면 화질이 좀 많이 열화됩니다.

Win2D의 CanvasDrawingSession.Antialiasing 속성을 Antialiased로 주어도 해결되지 않았습니다.

같은 코드로 UWP 에선 정상인걸로 봐선 XAML Islands의 문제같은데 정말 혹시나해서 WindowsXamlHost 컨트롤에 RenderOptions.BitmapScalingMode="Fant"로 해도 변화는 없었습니다. (사실 별도의 Window이므로 기대는 하지 않았습니다.) 어쩌면 WindowsXamlHost가 아니라 HwndHost의 문제일수도 있다는 생각이 들기도 합니다. 어떻게 하면 WPF Win2D의 품질을 UWP 수준으로 회복할 수 있을지 궁금합니다.

첨부한 예제 프로젝트는 .NET Core 3.0.100-rc2-014198 SDK와 윈도우10 버전 1903에서 빌드할 수 있습니다.






[최초 등록일: ]
[최종 수정일: 9/9/2019 ]


비밀번호

댓글 쓴 사람
 



2019-09-09 08시28분
관련해서 저도 시행착오가 없어 답변드릴만한 내용이 없습니다. 혹시 나중에라도 해결하시거든 공유 부탁드립니다. ^^
정성태
2019-09-10 01시01분
[WPF] 넵 알겠습니다! 감사합니다.
[손님]

[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5353형성재7/14/202013Visual Studio Setup Project에서 VC++2010재배포패키지설치 [2]
5352윤식7/10/202062닷넷코어 빌드 시 runtimeconfig 파일을 없앨 수 있는지.. [4]
5351runryan7/2/202095C# 에서 C++ dll 병렬 사용 [1]
5350홍성호6/29/202086C++에서 정의된 구조체(공유메모리)를 C#으로 공유메모리에서 구조체 변환시 에러가 발생 합니다. [1]파일 다운로드1
5349jerome.lee6/24/202083logon credential provider 관련 문의드립니다. [1]
5348776/19/2020209시작하세요 C# 8.0프로그래밍 책에 대한 질문입니다. [8]
5347민성6/19/2020130안녕하세요 WPF Binding에서요 [1]
5346dimohy6/18/2020122Task.WhenAll() 메소드를 이용한 코드를 좀더 짧게 사용하고 싶은데 다른 표현이 있을까요? [3]
5345질문요6/12/2020117idc vs 집 속도 [2]
5344하태6/2/2020168c++ .ilb에서 c# dll 호출 질문 드리겠습니다 (콜백함수 전달) [4]
5343하태6/2/2020142안녕하십니까! c# dll을 c++ .lib에서 호출 질문 드립니다. [4]
5342진우5/30/2020222c++ 에서 C# DLL 사용 문의 [2]
5341미나리5/28/2020227스레드 lock키워드 관련 질문드립니다 [3]
5339민성5/27/2020116WPF cmd을 실행을 할때 파라미터 넘기는 방법 [1]
5338서영준5/26/2020178.Net Core Blazor 서버에 Xing API를 이용한 통신 요청 [5]파일 다운로드1
5337ogosengi5/26/2020151C# DB connection string 보호 방법에 대하여 [2]
5336saki5/21/2020166이벤트 뷰어 .NET Runtime 오류 [3]
5335민성5/21/2020133안녕하세요 C#으로 컴퓨터 시작프로그램 목록을 가져와서 사용안함으로 바꿀려면 [1]
5334민성5/19/2020159안녕하세요 WPF 콘솔창을 띠우면서 Ping이라는 명령어가 콘솔에 Write되게 할려면 어떻게 해야 하나요?? [1]
5333초보5/18/2020134공유 메모리 관련 문의 [2]
5332질문요5/15/2020185TcpListener TcpClient 문의 [4]
5331sdd5/13/2020124안녕하세요 Settings관련하여 질문드립니다. [2]파일 다운로드1
5330하태5/7/2020371안녕하세요! 질문 드리겠습니다! C# dll에서 c++ CLR프로젝트를 참조 추가 할 수 있나요? [2]
5329김태령4/21/2020315젠킨스에서 원격 머신에 있는 실행 파일을 실행하면 백그라운드로 뜹니다 [2]
5328createissue4/17/2020297안녕하세요! [3]파일 다운로드1
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...