Guardar imagem como 24 bit png

4

Existe uma maneira de salvar uma imagem como 24 bits png? Eu não consegui com o GIMP. Lembre-se de que isso é arte de pixel, por isso é importante manter as cores exatas.

Eu tentei várias coisas no GIMP, mas sempre dizia isso:

$ file Junction.png 
Junction.png: PNG image data, 160 x 60, 8-bit/color RGBA, non-interlaced

Em vez de 24 bits.

    
por PMint 23.11.2013 / 08:34

3 respostas

5

Seu problema é que você não entende a saída do comando file . Eu usei o Paint.NET para salvar uma imagem como PNG de 32 bits, PNG de 24 bits e PNG de 8 bits. Então eu corri o comando file neles:

$ file *bit.png
08-bit.png: PNG image data, 800 x 600, 8-bit colormap, non-interlaced
24-bit.png: PNG image data, 800 x 600, 8-bit/color RGB, non-interlaced
32-bit.png: PNG image data, 800 x 600, 8-bit/color RGBA, non-interlaced

Como você pode ver, 8-bit/color RGBA é realmente o que o Paint.NET chama de PNG de 32 bits, porque é 8 bits por cor * (3 cores + 1 canal alfa). 8 * 4 = 32. Um PNG de 24 bits é o mesmo, mas sem o canal alfa: 8 * 3 = 24.

Se você quer que o Paint.NET chame um PNG de 24 bits, você precisa remover o canal alfa. Tanto quanto eu posso dizer, o GIMP sempre exporta um PNG com um canal alfa, se qualquer das suas camadas tiver um canal alfa.

Se você usa apenas uma camada, é simples: vá para Camada > Transparência > Remova o canal alfa e, em seguida, exporte. Você receberá um PNG de 24 bits.

Se você estiver usando várias camadas e precisar de efeitos de transparência, jthill apontou que é possível usar o Image > Flatten Image para remover as camadas com transparência antes de exportar. Você pode então desfazer para restaurar as camadas.

Você também pode pós-processar o PNG exportado para remover o canal alfa. Você poderia carregar a imagem exportada de volta para o GIMP, o que tornará uma camada, removerá o canal alfa dessa camada e exportará novamente. A melhor maneira é usar optipng , que normalmente comprimirá um PNG melhor que o GIMP além de remover um canal alfa inútil.

    
por 23.11.2013 / 19:08
2

OBSERVAÇÃO: Se você está procurando por suporte a 16 bits por canal, esta resposta se aplica a isso. Caso contrário, se você não entender o suporte de 24 bits (8 bits * 3 cores (RGB) = 24 bits, consulte Resposta do @cjm sobre como entender como isso funciona.

Na FAQ do GIMP :

trecho

When can we see 16-bit per channel support (or better)?

For some industries, especially photography, 24-bit colour depths (8 bits per channel) are a real barrier to entry. Once again, it's GEGL to the rescue. Work on integrating GEGL into GIMP began after 2.4 was released, and will span across several stable releases. This work will be completed in GIMP 3.0, which will have full support for high bit depths. If you need such support now and can't wait, cinepaint and Krita support 16 bits per channel now.

The current development branch, GIMP 2.9.x, supports higher bit depths than the 2.8 and older 8-Bit-per-component...

Caso você não esteja familiarizado com GEGL :

trecho

GEGL (Generic Graphics Library) is a graph based image processing framework.

GEGL provides infrastructure to do demand based cached non destructive image editing on larger than RAM buffers. Through babl it provides support for a wide range of color models and pixel storage formats for input and output.

Features

  • Floating point handling and processing and output of larger 8bit, 16bit integer and 32bit floating
  • ....
    
por 23.11.2013 / 09:11
0
Image->Flatten
File->Export
Edit->Undo
~/Documents$ file Untitled.png 
Untitled.png: PNG image data, 640 x 400, 8-bit/color RGB, non-interlaced
    
por 23.11.2013 / 23:55