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:
parent
c8f254ff92
commit
6444cfd345
|
@ -424,8 +424,9 @@ void PDF_PLOTTER::PlotImage( const wxImage & aImage, const wxPoint& aPos,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Grayscale conversion
|
// Greyscale conversion (CIE 1931)
|
||||||
putc( (r + g + b) / 3, workFile );
|
unsigned char grey = KiROUND( r * 0.2126 + g * 0.7152 + b * 0.0722 );
|
||||||
|
putc( grey, workFile );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -737,7 +737,12 @@ void PS_PLOTTER::PlotImage( const wxImage & aImage, const wxPoint& aPos,
|
||||||
if( colorMode )
|
if( colorMode )
|
||||||
fprintf( outputFile, "%2.2X%2.2X%2.2X", red, green, blue );
|
fprintf( outputFile, "%2.2X%2.2X%2.2X", red, green, blue );
|
||||||
else
|
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 );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue