다음을 통해 공유


DrawDib 함수 정보

[DrawDib 이 페이지와 연결된 기능은 레거시 기능입니다. MediaComposition 클래스 대체되었습니다. MediaComposition 클래스 Windows 10 및 Windows 11에 최적화되었습니다. 가능한 경우 새 코드에서 DrawDib대신 MediaComposition 클래스 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

전체적으로 DrawDib 함수는 이미지 확장 및 디더링 기능을 제공한다는 StretchDIBits 함수와 유사합니다. 그러나 DrawDib 함수는 이미지 압축 해제, 데이터 스트리밍 및 더 많은 수의 디스플레이 어댑터를 지원합니다.

경우에 따라 DrawDib 함수를 사용하는 것이 좋습니다. 그러나 StretchDIBits DrawDib 함수보다 더 다양하며 DrawDib 함수가 원하는 기능을 제공할 수 없는 경우 사용해야 합니다. 다음 목록에서는 DrawDib 함수를 사용할지 또는 StretchDIBits사용할지 결정할 때 고려해야 할 요인에 대해 설명합니다.

  • 색 테이블 정보 형식입니다. DrawDib 함수는 색 테이블에 DIB_RGB_COLORS 형식을 사용하는 이미지를 표시합니다. 애플리케이션의 이미지가 DIB_PAL_COLORS 또는 DIB_PAL_INDICES 형식으로 색 테이블 정보를 저장하는 경우 StretchDIBits 사용하여 표시해야 합니다.

  • 전송 모드입니다. DrawDib 함수를 사용하려면 애플리케이션에서 SRCCOPY 전송 모드를 사용해야 합니다. 애플리케이션이 SRCCOPY이외의 전송 모드로 StretchDIBits 사용하는 경우 StretchDIBits계속 사용해야 합니다. 마찬가지로 애플리케이션에서 XOR과 같은 다른 래스터 작업을 사용해야 하는 경우 StretchDIBits사용합니다.

  • 비디오 및 애니메이션 재생의 품질입니다. 비디오 클립 및 애니메이션 시퀀스를 재생하는 것과 같은 데이터 스트리밍 애플리케이션에 DrawDib 함수를 사용할 수 있습니다. DrawDib 함수는 StretchDIBits 더 높은 품질의 이미지를 제공하고 재생 중에 동작을 개선한다는 측면에서 성능이 뛰어났습니다.

  • 어댑터를 표시합니다. DrawDib 함수는 StretchDIBits 지원하는 것보다 많은 수의 디스플레이 어댑터를 지원합니다. DrawDib 함수는 4비트 이미지 깊이를 사용하여 16가지 색상표를 제공하는 VGA 색 어댑터, 8비트 이미지 깊이를 사용하는 256색 팔레트를 제공하는 SVGA 어댑터, 16비트, 24비트 및 32비트 이미지 깊이를 사용하여 수천 가지 색상을 제공하는 참 색 표시 어댑터를 지원합니다.

    DrawDib 함수는 더 제한된 기능으로 디스플레이 어댑터에 이미지를 표시하는 속도와 품질을 향상시킵니다. 예를 들어 8비트 디스플레이 어댑터를 사용하는 경우 DrawDib 함수는 실제 색 이미지를 256가지 색으로 효율적으로 디더링합니다. 또한 4비트 디스플레이 어댑터를 사용할 때 8비트 이미지를 디더링합니다.

  • 이미지 확장 StretchDIBits마찬가지로 DrawDib 함수는 원본 및 대상 사각형을 사용하여 표시되는 이미지 부분을 제어합니다. 원본 및 대상 사각형의 위치와 크기를 변경하여 이미지의 원치 않는 부분을 자르거나 이미지를 확장할 수 있습니다. 디스플레이 드라이버가 이미지 스트레치를 지원하지 않는 경우 DrawDib 함수는 StretchDIBits보다 더 효율적인 스트레치 기능을 제공합니다.

  • 압축된 이미지. DrawDib 함수는 RLE(실행 길이 인코딩), Cinepak 및 411 YUV를 포함하여 압축 해제기가 있는 모든 형식을 그립니다. Windows에는 필요에 따라 설치할 수 있는 RLE 및 Cinepak 압축 해제기가 포함되어 있습니다.

  • Indeo 코덱은 Windows에서 더 이상 지원되지 않습니다.

DrawDib