WPF에서 이미지 파일 로드시 보통 다음과 같은 방법을 흔히 사용한다.
var image = new BitmapImage(); image.BeginInit(); image.UriSource = new Uri("d:\test.jpg", UriKind.Absolute); image.CacheOption = BitmapCacheOption.OnLoad; image.EndInit();
적은 양의 이미지를 로드할 때는 별문제가 발생하지 않겠지만
다량의 많은 양의 이미지를 로드할 때, 심각한 문제를 야기할 수 있다.
만약 로드한 이미지를 표시할 때,
원본 이미지의 사이즈로 보여주는 것이 아니라 썸네일로 보여줄 때는
원본의 사이즈가 아니라 필요한 만큼의 사이즈로 읽어 들이는 것이 더 효과적일 것이다.
적당한 사이즈를 알고 있다면
아래와 같은 코딩을 추가하면 원하는 사이즈로 이미지 사이즈를 변환하여 가져올 수 있다.
image.DecodePixelWidth = 50; image.DecodePixelHeight = 50;
수백 장의 이미지를 읽어들일 경우,
상당한 속도와 메모리를 절약할 수 있다.
'Dev::DotNet > WPF' 카테고리의 다른 글
WebBrowser Control Zoom 조절 (0) | 2017.05.17 |
---|---|
Window 를 특정 Thread 에서 위임하는 법 (0) | 2016.12.28 |
WPF Data Binding Error 처리 (0) | 2015.03.11 |
Hardcodet.NotifyIcon.Wpf 의 MessageBox? (0) | 2014.10.07 |
단순 Event Behavior (0) | 2014.09.23 |