diff -u -r poppler-0.5.1/utils/ImageOutputDev.cc poppler-0.5.1patched/utils/ImageOutputDev.cc --- poppler-0.5.1/utils/ImageOutputDev.cc 2006-01-23 16:24:36.000000000 +0100 +++ poppler-0.5.1patched/utils/ImageOutputDev.cc 2006-05-20 11:20:28.000000000 +0200 @@ -184,9 +184,9 @@ p = imgStr->getLine(); for (x = 0; x < width; ++x) { colorMap->getRGB(p, &rgb); - fputc((int)(rgb.r * 255 + 0.5), f); - fputc((int)(rgb.g * 255 + 0.5), f); - fputc((int)(rgb.b * 255 + 0.5), f); + fputc((int)(255.0 / 65536.0 * rgb.r), f); + fputc((int)(255.0 / 65536.0 * rgb.g), f); + fputc((int)(255.0 / 65536.0 * rgb.b), f); p += colorMap->getNumPixelComps(); } } diff -u -r poppler-0.5.1/utils/ImageOutputDev.h poppler-0.5.1patched/utils/ImageOutputDev.h --- poppler-0.5.1/utils/ImageOutputDev.h 2005-12-12 19:57:13.000000000 +0100 +++ poppler-0.5.1patched/utils/ImageOutputDev.h 2006-05-20 11:20:34.000000000 +0200 @@ -45,7 +45,7 @@ virtual GBool interpretType3Chars() { return gFalse; } // Does this device need non-text content? - virtual GBool needNonText() { return gFalse; } + virtual GBool needNonText() { return gTrue; } //---- get info about output device