WPF 4.0에서 SnapsToDevicePixels를 언제 사용해야 합니까?
사용 시기에 대한 가이드라인을 제안할 수 있는 사람?SnapsToDevicePixels
WPF 4.0에서?
앱 전체에 걸쳐 특정 컨트롤에만 문제가 있는 경우에만 가끔 사용해야 합니까?
픽셀 정렬 시기에 대한 Spencer와 Martin의 좋은 답변입니다.
방법에 대해서: 저는 또한 WPF 4.0에서 대신 속성을 사용해야 한다는 것을 지적하고 싶습니다.SnapsToDevicePixels
.
UseLayoutRounding
Silverlight와 호환됩니다.SnapsToDevicePixels
Silverlight에서는 사용할 수 없음) ... 또한 마이크로소프트는 의 사용을 권장하고 있습니다.UseLayoutRounding
위에SnapsToDevicePixels
그 문서에.
둘 사이의 차이점은 무엇입니까?한 가지 큰 차이점은UseLayoutRounding
레이아웃 단계에서 발생하는 동안SnapsToDevicePixels
렌더 단계 중에 발생합니다.이것은 제가 추측하게 만듭니다.UseLayoutRounding
이 방법이 더 성능이 좋은 방법일 수 있습니다(그러나 확인하지는 않았습니다).
그렇긴 하지만, 여전히 사용해야 할 이유가 있을 것입니다.SnapsToDevicePixels
실제로 MSDN 문서는 1을 가리킵니다.다른 항목을 추가합니다. 다음 항목만 해당됩니다.SnapsToDevicePixels
정확한 제어를 위해 가이드라인을 사용할 수 있습니다.
다음은 이 문제에 대한 몇 가지 리소스(예: 이미지, 텍스트 및 시각 자료로 픽셀 스냅 및 선명도)입니다.
- UI 요소에 대한 MSDN 설명서입니다.디바이스 픽셀 속성에 스냅합니다.
- 프레임워크 요소에 대한 MSDN 설명서.배치 반올림 특성을 사용합니다.
- 여기 흐릿한 이미지에 대한 드웨인 니드의 오래되고 고전적인 게시물이 있습니다.
- 때때로 비트맵 축척 모드는 이미지를 선명하게 만드는 데 도움이 됩니다.
- SnapToDevicePixels를 실제로 사용하는 방법을 보여주는 훌륭한 블로그 게시물입니다.까다로울 수 있습니다.
- WPF 텍스트 팀이 텍스트를 명확하게 하기 위해 WPF 4.0에 추가한 모든 다양한 개선 사항에 대한 블로그 게시물입니다.
- 레이아웃 반올림에 대한 WPF 텍스트 팀의 또 다른 블로그 게시물.
헤헤. 제 대답이 당신이 요구하는 것 이상이었다는 것을 알고 있습니다... 하지만 이 개념(즉, 해결 독립성과 그로 인한 문제 및 해결 방법)은 WPF를 다룰 때 종종 좌절감을 느낄 수 있습니다.최소한 새로운 WPF 4.0 속성을 알려드리고 싶었습니다.UseLayoutRounding
.
갱신하다
몇 번이고 반복해서 봤기 때문에 덧붙여야 합니다... 가끔은...SnapsToDevicePixels
다음과 같은 경우UseLayoutRounding
안 합니다., 사용해보고 SnapsToDevicePixels
.
그 선은 너무 날카로워서 당신을 자를 수 있습니다!
한 가지 경우는 이미지 또는 비디오를 표시하는 경우입니다.장치 픽셀(즉, 비디오 화면의 픽셀)에 스냅하지 않으면 이미지의 픽셀을 화면의 픽셀 사이에 "위치"하기 위해 일부 알고리즘(보간, 안티에일리어싱)이 사용되며 표시되는 이미지의 모양이 원래 이미지보다 좋지 않습니다.이미지의 선명도가 약간 떨어집니다.
픽셀의 배치가 의미를 갖는 컨트롤 또는 영역에 사용해야 합니다.도면 응용프로그램의 캔버스와 관련된 컨트롤이 한 예입니다.조각난 드라이브의 지도를 본 적이 있습니까?이것은 또 다른 예가 될 수 있습니다.
제가 생각할 수 있는 한 가지 예외는 어떤 종류의 구분선을 사용하는 경우입니다.대부분의 사람들은 경계선이 견고할 것으로 예상합니다.이 설정이 해제되어 있으면 흐리고 산만해 보일 수 있습니다.
기본적으로 가장자리가 흐리면 = 나쁘면 켜십시오.
국경에 매우 유용하다는 것을 방금 알았습니다.여기에 추가 정보가 있습니다.
<Style TargetType="Border" >
<Setter Property="SnapsToDevicePixels" Value="True" />
</Style>
언급URL : https://stackoverflow.com/questions/2399731/when-should-i-use-snapstodevicepixels-in-wpf-4-0
'programing' 카테고리의 다른 글
PostgreSQL에서 부호 없는 정수를 사용할 수 없는 이유는 무엇입니까? (0) | 2023.05.13 |
---|---|
Spring Data MongoDB와 MongoDB용 Hibernate OGM의 차이점은 무엇입니까? (0) | 2023.05.13 |
사전을 반환하기 위한 LINQ 쿼리 (0) | 2023.05.13 |
스토리보드에서 여러 컨트롤러와 함께 사용할 사용자 지정 셀을 만들려면 어떻게 해야 합니까? (0) | 2023.05.13 |
Postgre에서 0으로 나눗셈을 피함SQL (0) | 2023.05.13 |