StretchBlt()/StretchDIBits() selže, pokud se výrazně liší velikost obrázku

Překlady článku Překlady článku
ID článku: 269585 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Příznaky

StretchBlt() a StretchDIBits() může vrátit hodnotu FALSE (0, LOGICKÁ hodnota označující selhání) a k tomu může dojít i když je systémová paměť nízká, kontexty obě zařízení jsou kompatibilní a obě obdélníky jsou v rámci hranice správné. K tomuto problému může dojít, pokud zdroj rastr je mnohem menší než rastrový cílové.

Tento problém známý ovlivní zobrazení určitých rastrové obrázky jako tapetu plochy s Active Desktop webového obsahu povolen.

Příčina

K tomuto problému dochází, protože Graphics Device Interface (GDI) přiděluje vnitřní vyrovnávací paměti pro rastr měřítko operací. Skenování čáry (nebo pásma) z rastrového obrázku zdroj je roztažena (nebo s měřítkem) do této vyrovnávací paměti a zkopírovány do cílové rastrový obrázek. Velikost vyrovnávací paměti je určen počáteční následující podmínky:
  • Šířka cílové rastrový obrázek v PELS jeden zdroj skenování řádku.
  • Svislé měřítko (Výška cíl / zdroj výška).
  • Počet bajtů za PEL (hloubku barev).
Maximální velikost této vyrovnávací paměti je omezen na 64 kilobajtů (pro StretchBlt()) a 192 kilobajtů (pro StretchDIBits()). Pokud měřítka faktory nebo multipliers rozsáhlé, nemusí být možné StretchBlt() přidělení vyrovnávací paměti, která je menší než 64 kilobajtů (K) i a velké ke zpracování jednoho pásma. Podobně StretchDIBits() pravděpodobně nebude možné přidělit vyrovnávací paměť, která je menší než 192 kb můžete přizpůsobit jediné pásma.

Dané metriky zobrazení 1024 x 768 x 256 barev a 16 x 16 Zdrojový rastrový StretchBlt() nezdaří z důvodu hranici podmínky v hunt metodu, která se používá k hledání velikost vyrovnávací paměti optimální, ale by úspěšné, pokud byly zdrojový rastrový 18 x 18 nebo větší.

Další informace

Další informace o Proč může selhat StretchBlt() klepněte článku číslo článku databáze Microsoft Knowledge Base:
92529INFORMACE: Důvody Chyba funkce rastr
Další informace o tom, jak tento problém ovlivňuje Active Desktop webový obsah klepněte na článek číslo článku databáze Microsoft Knowledge Base:
269595PRB: Active Desktop Wallpaper kódována
Další informace o tomto problému a Microsoft Windows 3.x klepněte na článek číslo článku databáze Microsoft Knowledge Base:
111865Chyba: StretchBlt()/StretchDIBits() selhání s velmi velké roztáhnout

Vlastnosti

ID článku: 269585 - Poslední aktualizace: 13. února 2014 - Revize: 1.3
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Windows 98 Second Edition
  • Microsoft Windows 98 Standard Edition
  • Microsoft Windows 95
  • Microsoft Windows Millennium Edition
Klíčová slova: 
kbnosurvey kbarchive kbmt kbdisplay kbprb KB269585 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:269585

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