WPF 이미지 표시 속도 향상: 비트맵 변환 최적화
빠른 비트맵 업데이트를 요구하는 WPF 애플리케이션에서 Bitmap에서 BitmapSource로의 변환 프로세스는 성능에 심각한 영향을 미쳐 CPU 사용량이 높아지고 이미지 표시가 불안정해질 수 있습니다.
CreateBitmapSourceFromHBitmap
은 일반적인 솔루션이지만 계산 오버헤드가 상당할 수 있습니다. 성능을 크게 향상하려면 안전하지 않은 코드를 사용하여 직접 메모리 조작을 고려하세요.
다음 코드는 더 빠른 변환 방법을 제공하며 CreateBitmapSourceFromHBitmap
에 비해 속도가 최소 4배 이상 향상된 것을 경험적으로 보여줍니다. PixelFormat
가 BitmapSource
:
<code class="language-csharp">public static BitmapSource Convert(System.Drawing.Bitmap bitmap) { var bitmapData = bitmap.LockBits( new System.Drawing.Rectangle(0, 0, bitmap.Width, bitmap.Height), System.Drawing.Imaging.ImageLockMode.ReadOnly, bitmap.PixelFormat); var bitmapSource = BitmapSource.Create( bitmapData.Width, bitmapData.Height, bitmap.HorizontalResolution, bitmap.VerticalResolution, PixelFormats.Bgr24, null, bitmapData.Scan0, bitmapData.Stride * bitmapData.Height, bitmapData.Stride); bitmap.UnlockBits(bitmapData); return bitmapSource; }</code>
이 최적화된 방법은 비트맵 변환 중에 CPU 로드를 크게 줄여 WPF 애플리케이션 내의 빈번한 업데이트 시나리오에서 더 부드럽고 빠른 이미지 표시를 제공합니다.
위 내용은 고속 이미지 표시를 위해 WPF에서 비트맵 변환을 어떻게 최적화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!