Sobre as funções DrawDib
[O recurso associado a esta página, DrawDib, é um recurso herdado. Ele foi substituído pela classe MediaComposition. A classe MediaComposition foi otimizada para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use a classe MediaComposition em vez de DrawDib, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
Coletivamente, as funções DrawDib são semelhantes à função StretchDIBits , pois fornecem recursos de alongamento de imagem e dithering. No entanto, as funções DrawDib dão suporte à descompactação de imagem, streaming de dados e um número maior de adaptadores de exibição.
Você achará útil usar as funções DrawDib em algumas circunstâncias. Ainda assim, StretchDIBits é mais diversificado do que as funções DrawDib e deve ser usado quando as funções DrawDib não podem fornecer a funcionalidade desejada. A lista a seguir descreve os fatores a serem considerados ao decidir se devem ser usadas as funções DrawDib ou StretchDIBits.
Formato de informações da tabela de cores. As funções DrawDib exibem imagens que usam o formato DIB_RGB_COLORS para sua tabela de cores. Se as imagens em seu aplicativo armazenarem informações de tabela de cores com o formato DIB_PAL_COLORS ou DIB_PAL_INDICES , você deverá usar StretchDIBits para exibi-las.
Modo de transferência. As funções DrawDib exigem que seu aplicativo use o modo de transferência SRCCOPY . Se seu aplicativo usa StretchDIBits com um modo de transferência diferente de SRCCOPY, você deve continuar a usar StretchDIBits. Da mesma forma, se você precisar usar outras operações de varredura em seu aplicativo, como um XOR, use StretchDIBits.
Qualidade da reprodução de vídeo e animação. Você pode usar as funções DrawDib para aplicativos de streaming de dados, como aqueles que reproduzem clipes de vídeo e sequências animadas. As funções DrawDib superam StretchDIBits , pois fornecem imagens de maior qualidade e melhoram o movimento durante a reprodução.
Adaptadores de vídeo. As funções DrawDib dão suporte a um número maior de adaptadores de exibição do que o suporte do StretchDIBits . As funções DrawDib dão suporte a adaptadores de cores VGA que fornecem paletas de 16 cores usando profundidade de imagem de 4 bits, adaptadores SVGA que fornecem paletas de 256 cores usando profundidade de imagem de 8 bits e adaptadores de exibição de cores verdadeiras que fornecem milhares de cores usando profundidades de imagem de 16 bits, 24 bits e 32 bits.
As funções DrawDib também melhoram a velocidade e a qualidade da exibição de imagens em adaptadores de vídeo com funcionalidades mais limitadas. Por exemplo, ao usar um adaptador de exibição de 8 bits, o DrawDib funciona com eficiência dither imagens de cor verdadeira para 256 cores. Eles também dither imagens de 8 bits ao usar adaptadores de vídeo de 4 bits.
Alongamento de imagem. Assim como StretchDIBits, as funções DrawDib usam retângulos de origem e destino para controlar a parte de uma imagem exibida. Você pode cortar partes indesejadas de uma imagem ou esticar uma imagem variando a posição e o tamanho dos retângulos de origem e destino. Se um driver de vídeo não der suporte ao alongamento de imagem, as funções DrawDib fornecerão recursos de alongamento mais eficientes do que StretchDIBits.
Imagens compactadas. As funções DrawDib desenharão qualquer formato para o qual você tenha um descompactador, incluindo A codificação de comprimento de execução (RLE), Cinepak e 411 YUV. O Windows inclui descompactadores RLE e Cinepak que podem ser instalados opcionalmente.
O codec Indeo não tem mais suporte no Windows.
Tópicos relacionados