Pergunta

Eu acho que o título já explica o que eu quero saber.
Existe uma maneira possível para abrir e salvar imagens com 16 bits com Qt? E não me refiro a 3 * 8 = 24 bits ou 4 * 8 = 32 bits, o que é exatamente o mesmo como uma imagem de 8-bit puro, quero dizer puro de 16 bits para R, G e B.

Foi útil?

Solução

Ao contrário do que Patrice diz, não há 16 bits por formato de componente em QImage. O máximo que você pode obter é QImage::Format_ARGB32 em 8 bits por componente. Mesmo se você usou 8 bits modo indexado, as tabelas de cores não suportam mais de 8 bits por componente. Além disso, a classe QImageIOHandler funciona em termos de QImage, para que você não pode criar um plug-in formato de imagem personalizada para trabalhar com 16 bits por componente de cor, infelizmente.

Outras dicas

Você pode usar libpng (png ++) para esse fim.

QImage :: Format não define puro de 16 bits, mas pode definir 10 bit.
QImage::Format_A2RGB30_Premultiplied ( http://doc.qt.io/qt-5/qimage.html), pode usar RGB 10 bits por canal (0 ... 1).
Mas se o uso QImage::setPixel eles ainda usam 8 bits por canal, para definir pixel QColor.

Como outros já mencionado, não existe um formato com 16 bits por componente de suporte em Qt para agora.

No entanto, há um pedido aberto para implementar isso, com um patch anexado: https: // relatos de erros .qt.io / browse / QTBUG-45858

Não tenho certeza qual é o status desta, e se ele vai ficar integrado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top