Sdílet prostřednictvím


D1234: Nulový štětce prostředků

Rastrový štětec nebo štětec obrázku nelze použít pro kreslení, pokud je jeho přidružený rastrový obrázek nebo obrázek nastaven na hodnotu NULL.

 

Možné příčiny

Aplikace se pokusila vykreslit primitiv pomocí ID2D1BitmapBrush nebo ID2D1ImageBrush, jehož rastrový obrázek nebo obrázek byl NULL.

Možné opravy

Než je použijete, ujistěte se, že rastrové obrázky nebo štětce obrázků mají přiřazený platný rastrový obrázek nebo obrázek. Aplikace to může provést při vytváření nebo později pomocí ID2D1BitmapBrush::SetBitmap nebo ID2D1ImageBrush::SetImage. Direct2D umožňuje prostředky štětce NULL, aby aplikace mohly mít po použití k vykreslení prostředky štětce volnost uvolnit. Aplikace se můžou rozhodnout, jestli je rastrový obrázek nebo prostředek obrázku obzvláště nákladný a scénář vyžaduje, aby byl okamžitě uvolněn. Nastavením prostředku štětce na hodnotu NULL zabráníte Direct2D zachovat nevyrovnaný odkaz na něj. Pokud aplikace přiřadí prostředek štětce null, neměl by se však pokoušet použít štětec, dokud k němu nebude přiřazen nový platný prostředek.