Gerenciamento de cores de imagens JPEG e PNG
Importante
A plataforma de impressão moderna é o meio preferido do Windows para se comunicar com as impressoras. Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft juntamente com PSA (Aplicativos de Suporte à Impressão) para personalizar a experiência de impressão no Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.
Para obter mais informações, consulte Plataformade impressão moderna e o Guia de design do aplicativo de suporte de impressão.
Para impressoras que fornecem suporte de hardware de imagens compactadas JPEG e PNG, o gerenciamento de cores deve ser tratado pelo driver ou dispositivo e não pode ser tratado pela GDI.
Antes de um aplicativo enviar uma imagem compactada JPEG ou PNG para uma impressora, ele chamará ExtEscape com o código de escape CHECKJPEGFORMAT ou CHECKPNGFORMAT. Isso resulta em uma chamada para a função DrvQueryDeviceSupport do driver, com um tipo de consulta de QDS_CHECKJPEGFORMAT ou QDS_CHECKPNGFORMAT e um buffer que contém a imagem compactada.
O driver pode examinar os dados da imagem e determinar se eles podem dar suporte à imagem. O suporte à imagem deve incluir a execução de transformações de cores se o sinalizador XO_DEVICE_ICM ou XO_HOST_ICM da estrutura XLATEOBJ, pois o GDI não pode executar transformações de cores nessas imagens.
Para essas imagens compactadas, as informações do espaço de cores normalmente estão contidas nos dados da imagem. Uma exceção são os arquivos JFIS, que são codificados em YCbCr e para os quais o espaço sRGB padrão é uma boa aproximação. No entanto, um arquivo JFIF pode conter um marcador APPx proprietário que especifica um espaço de cores, caso em que o driver deve transformar a imagem usando o espaço de cores.
Para obter mais informações sobre como dar suporte a imagens compactadas JPEG e PNG, consulte a seção Comentários do DEVINFO.