Greyscale plotting adjustment

When plotting greyscale, we should use luminance preservation for the
image output (blues get washed out otherwise).
This commit is contained in:
Seth Hillbrand 2019-06-17 18:35:41 -07:00
parent c8f254ff92
commit 6444cfd345
2 changed files with 9 additions and 3 deletions

View File

@ -424,8 +424,9 @@ void PDF_PLOTTER::PlotImage( const wxImage & aImage, const wxPoint& aPos,
}
else
{
// Grayscale conversion
putc( (r + g + b) / 3, workFile );
// Greyscale conversion (CIE 1931)
unsigned char grey = KiROUND( r * 0.2126 + g * 0.7152 + b * 0.0722 );
putc( grey, workFile );
}
}
}

View File

@ -737,7 +737,12 @@ void PS_PLOTTER::PlotImage( const wxImage & aImage, const wxPoint& aPos,
if( colorMode )
fprintf( outputFile, "%2.2X%2.2X%2.2X", red, green, blue );
else
fprintf( outputFile, "%2.2X", (red + green + blue) / 3 );
{
// Greyscale conversion (CIE 1931)
unsigned char grey = KiROUND( red * 0.2126 + green * 0.7152 + blue * 0.0722 );
fprintf( outputFile, "%2.2X", grey );
}
}
}