Chyba: Selhání StretchBlt()/StretchDIBits() s velmi velké roztáhnout

Překlady článku Překlady článku
ID článku: 111865 - Produkty, které se vztahují k tomuto článku.
3.00 3.10 WINDOWS kbprg kbbuglist
Rozbalit všechny záložky | Minimalizovat všechny záložky

Příznaky

Je-li faktor roztažení rozsáhlý, například při roztažení z velmi malé velké výšky, StretchDIBits() a StretchBlt() může vrátit nula (0) a nezobrazí. Stejné rastrový obrázek s menší roztáhnout zobrazen správně.

Příčina

Většina ovladačů zobrazení není implementovat vlastní StretchBlt() nebo StretchDIBits() tak, že rozhraní GDI musí simulovat těchto volání. Část simulace GDI zahrnuje přidělení vyrovnávací paměti dočasné práce, která jsou omezena na 64 kB. Pokud velikost vyrovnávací paměti pro práci se počítá větší než 64 kB, výška obdélníky zdrojové a cílové jsou sníženy až do doby, kdy jsou menší než 64 kB. Problém je, že pokud GDI musí nadále výšku vydělte dvěma (2) Chcete-li získat vyrovnávací paměť je menší než 64 kB, by mohla výška zdroj nebo cíl nakonec dosáhnout jeden řádek pro skenování. V tomto okamžiku volání nezdaří, protože nelze rozdělit řádek prohledávání do podjednotky.

StretchBlt() a StretchDIBits() nejsou navrženy pro poskytnout neomezený počet roztažení. Však jejich může selhat trochu více předčasně než omezení jejich návrhu.

Řešení

Pokud StretchBlt() nebo StretchDIBits() nezdaří na velké roztáhnout, může aplikace rozdělení bitmapy zdroje, jednotlivě roztáhnout kusů a umístěte je správně jednou roztažení. Jinou alternativou je provést menší roztáhnout. Neexistuje žádný vzorec k určení přesně co rastrové obrázky se nezdaří v jaké velikosti roztáhnout.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny na začátku tohoto článku.

Další informace

Problém reprodukovat, vytvořit bitmapu přibližně 2048 pixelů 16 obrazových bodů vysoké. Poté lze zobrazit rastrového obrázku s DIBVIEW vzorek ze sady Windows 3.1 SDK. Zvolte roztáhnout do okna z nabídky Volby na DIBVIEW, aby rastrového obrázku je roztažený podle velikosti okna klienta. Pokud výška je více než 200 obrazových bodů, bitmapa se nezobrazí.

Vlastnosti

ID článku: 111865 - Poslední aktualizace: 7. března 2005 - Revize: 2.1
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Windows Software Development Kit 3.0
  • Microsoft Windows Software Development Kit 3.1
Klíčová slova: 
kbmt kbbug kbpending KB111865 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:111865

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com