1

I need to convert a 16bit png into an 8bit png for size reduction. Problem are the half transparent pixels that will generate a white border around my content when converting to 8bit. I just want to delete all pixels that are somewhere between 0 and 100% visible. How would I do it?

Tools available are Photoshop and Gimp (both newest versions).

Here is an example image:

enter image description here

  • Are you throwing away the transparency on purpose? 8-bit PNGs also allow it. – usr2564301 Feb 13 '18 at 15:42
  • The PNG8 format doesn't support multiple levels of transparency. It only has either totally opaque, or totally transparent pixels, no semi-transparency! PNG8 is a bit like a GIF, which also suffers from the same problem. – Billy Kerr Feb 13 '18 at 15:46
  • 1
    @BillyKerr: Don't let the bad support in Photoshop (for example) confuse you! The official specification does not contain such a restriction at all: "For [indexed-colour], alpha is a series of values [...] Each entry indicates that the corresponding palette index has the specified alpha. [..] [A] tRNS chunk may contain fewer values than there are palette entries; the remaining values are assumed to be 255. When only palette index 0 need be made transparent, only a one-byte tRNS is required ..." (paraphrased, but do read the full text) – usr2564301 Feb 13 '18 at 16:28
  • 1
    @usr2564301 I use GIMP too, you have to convert to Indexed mode to ouput a PNG8. Perhaps you have discovered a niche market for your software! – Billy Kerr Feb 13 '18 at 18:28
  • 1
    Sorry I meant "without semi transparent pixels". Also I confirmed imgur converts the image and just removes all the half transparent pixels. – steros Feb 17 '18 at 17:06
2
  • In the Layers panel, Ctrl+click (or, if on mac Cmd+click) the layer thumbnail to turn its transparency into a selection.
  • Use Select > Edit in Quick Mask Mode to enter Quick Mask Mode.
  • Use Image > Adjustments > Threshold and set the Threshold to 255, to remove all transparent pixels.
  • Push Ctrl+i (or if on mac Cmd + i) to inverse the mask.
  • Exit Quick Mask Mode with Select > Edit in Quick Mask Mode.
  • Make sure the layer is selected and press Delete to remove the transparent pixels.

This could be turned into an action.

  • Thanks, currently the person with access to Photoshop is sick. But I'll try as soon as possible. – steros Feb 15 '18 at 11:27
  • So I tried and this works, but actually I don't need it as PS can save semi transparent pixels. – steros Feb 17 '18 at 16:43
  • Sorry I meant "save without semi transparent pixels". – steros Feb 17 '18 at 16:49
  • @DarsVaeda, I thought you already tried that, but that it gave your image a white outline. – Wolff Feb 18 '18 at 16:36
  • yes I tried but got the white outline. but I found an option to drop the transparent pixels now. – steros Feb 19 '18 at 9:06
0

To save without semi-transparent pixels as white pixels in Photoshop go to "Export for web" then select PNG 8bit. Check "Transparency" and select "none" as "Matte" color. For me this just removes the semi-transparent pixels alltogether.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.