Because of the problems with recent changes (see
PDFBOX-1963), I will improve the unit tests so that image resolution and compression is checked.
I found out that JPEGs don't have a resolution, BMP had the wrong resolution. The fault wasn't in the java TIFF writer as I thought before, it is in the java PNG writer, which uses the PixelSize values wrongly, i.e. it interprets them as "pixels per mm" instead of "mm per pixel" as per specification. The JPEG writer throws an exception "JFIF APP0 must be first marker after SOI". The BMP writer can set the resolution, but the BMP reader doesn't read it.
(Some of this might be different depending on the version)