diff --git a/common/plotters/PDF_plotter.cpp b/common/plotters/PDF_plotter.cpp index cde9f51795..6286bc83e6 100644 --- a/common/plotters/PDF_plotter.cpp +++ b/common/plotters/PDF_plotter.cpp @@ -405,12 +405,22 @@ void PDF_PLOTTER::PlotImage( const wxImage & aImage, const wxPoint& aPos, } } + if( aImage.HasMask() ) + { + if( r == aImage.GetMaskRed() && g == aImage.GetMaskGreen() && b == aImage.GetMaskBlue() ) + { + r = 0xFF; + g = 0xFF; + b = 0xFF; + } + } + // As usual these days, stdio buffering has to suffeeeeerrrr if( colorMode ) { - putc( r, workFile ); - putc( g, workFile ); - putc( b, workFile ); + putc( r, workFile ); + putc( g, workFile ); + putc( b, workFile ); } else { diff --git a/common/plotters/PS_plotter.cpp b/common/plotters/PS_plotter.cpp index 537e89b280..63723f9bda 100644 --- a/common/plotters/PS_plotter.cpp +++ b/common/plotters/PS_plotter.cpp @@ -725,6 +725,17 @@ void PS_PLOTTER::PlotImage( const wxImage & aImage, const wxPoint& aPos, } } + if( aImage.HasMask() ) + { + if( red == aImage.GetMaskRed() && green == aImage.GetMaskGreen() + && blue == aImage.GetMaskBlue() ) + { + red = 0xFF; + green = 0xFF; + blue = 0xFF; + } + } + if( colorMode ) fprintf( outputFile, "%2.2X%2.2X%2.2X", red, green, blue ); else