Description
Tested on MacOS with ECT 0.9.3.
Here's an image that demonstrates this bug (originally from here):
It's an indexed PNG with a tRNS chunk, which has two different palette entries for black. The first entry is set to be transparent with the tRNS chunk, and the other entry remains fully opaque. When ECT optimises it, it converts it to truecolor (RGB) with a tRNS chunk. The tRNS chunk now sets all instances of the color black to fully transparent, which results in some previously opaque pixels becoming transparent:
I'd suggest that when --strict is passed, PNG files are not converted to RGB + tRNS based alpha if it would result in this issue occurring. When --strict is not passed, lossy transparency optimisations could be used to change the color of the transparent pixels to avoid this issue.