대용량 늘이기 함께 BUG: StretchBlt()/StretchDIBits() 실패

중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

111865
이 문서가 보관되었습니다. "그대로" 제공되었으며, 업데이트가 되지 않을 것입니다.
3.00 3.10 WINDOWS kbprg kbbuglist
현상
늘이기 요소 큰 경우, 예를 들어, 한 아주 작은 에서 큰 높이를 늘려서 때 StretchDIBits()StretchBlt() 있습니다 영 (0) 돌아가서 아무 것도 표시하지 않습니다. 작은 늘이기 동일한 비트맵은 올바르게 표시됩니다.
원인
GDI 이러한 호출을 시뮬레이션하는 합니다 있으므로 대부분의 디스플레이 드라이버는 자체 StretchBlt() 또는 StretchDIBits() 구현하지 마십시오. 64 K 제한되는 임시 작업 버퍼를 할당하는 GDI 시뮬레이션 일부가 포함됩니다. 다음 작업 버퍼 크기가 64 K 커야 계산되는 경우 64 K 때까지 원본 및 대상 사각형의 높이를 양분했습니다 있습니다. 64 K 미만으로 버퍼를 얻을 수 (2) 두 높이 나누려면 GDI 계속 합니다 원본 또는 대상 높이 결국 한 스캐닝선의 접근할 수 있는 문제입니다. 이 시점에서 스캐닝선의 하위 문서로 나눌 수 없기 때문에 호출이 실패합니다.

StretchBlt()StretchDIBits() 무제한 늘이기 제공하도록 설계되지 않았습니다. 그러나 이러한 설계상의 한계를 보다 조금 더 중간에 실패할 수 있습니다.
해결 방법
StretchBlt() 또는 StretchDIBits() 있는 큰 늘이기 실패하면 응용 프로그램이 있습니다 소스 비트맵을 위로 나누기, 조각을 개별적으로 늘이기 및 올바르게 한 번 늘어나는 위치를. 또 다른 방법은 작은 늘이기 수행할 수 있습니다. 없음 수식을 정확히 어떤 비트맵 어떤 늘이기 크기로 실패합니다 확인할 수 있습니다.
현재 상태
Microsoft는 이 문서의 시작 부분에 나열한 제품에서 문제를 확인했습니다.
추가 정보
문제를 재현하는 데 약 2048 x 16 픽셀인 비트맵을 만듭니다. 그런 다음 Windows 3.1 SDK에서 DIBVIEW 샘플 비트맵을 표시하십시오. 비트맵이 클라이언트 창의 크기에 따라 늘일 수 있도록 창에 늘이기 DIBVIEW의 옵션 메뉴에서 선택하십시오. 높이를 약 200 개 이상의 픽셀 경우 비트맵이 표시되지 않습니다.
buglist3.00 buglist3.10 3.00 3.10 실패 확대/축소

경고: 이 문서는 자동 번역되었습니다

속성

문서 ID: 111865 - 마지막 검토: 01/11/2015 00:50:16 - 수정: 2.1

  • Microsoft Windows Software Development Kit 3.0
  • Microsoft Windows Software Development Kit 3.1
  • kbnosurvey kbarchive kbmt kbbug kbpending KB111865 KbMtko
피드백