diff options
author | Philipp Lohmann [pl] <Philipp.Lohmann@Sun.COM> | 2010-05-28 15:24:45 +0200 |
---|---|---|
committer | Philipp Lohmann [pl] <Philipp.Lohmann@Sun.COM> | 2010-05-28 15:24:45 +0200 |
commit | ac8931355088e3d5c811309342f6af999da92cd8 (patch) | |
tree | 6e42aad5e32c5478b7457adc0385e8b8053685fb /filter/source/pdf | |
parent | fc3cbc8eeeb9631f42fd56b4bb3202730865c5f6 (diff) |
vcl111: #i108490# fix handling of greyscale jpeg images in PDF export
Diffstat (limited to 'filter/source/pdf')
-rw-r--r-- | filter/source/pdf/pdfexport.cxx | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/filter/source/pdf/pdfexport.cxx b/filter/source/pdf/pdfexport.cxx index c868a3ec3157..8115f36d76f8 100644 --- a/filter/source/pdf/pdfexport.cxx +++ b/filter/source/pdf/pdfexport.cxx @@ -1926,6 +1926,7 @@ void PDFExport::ImplWriteBitmapEx( PDFWriter& rWriter, VirtualDevice& rDummyVDev SvMemoryStream aStrm; Bitmap aMask; + bool bTrueColorJPG = true; if ( bUseJPGCompression ) { sal_uInt32 nZippedFileSize; // sj: we will calculate the filesize of a zipped bitmap @@ -1956,12 +1957,13 @@ void PDFExport::ImplWriteBitmapEx( PDFWriter& rWriter, VirtualDevice& rDummyVDev aFilterData[ 1 ].Value <<= nColorMode; /*sal_uInt16 nError =*/ aGraphicFilter.ExportGraphic( aGraphic, String(), aStrm, nFormatName, &aFilterData ); + bTrueColorJPG = ((aGraphicFilter.GetExportGraphicHint() & GRFILTER_OUTHINT_GREY) == 0); aStrm.Seek( STREAM_SEEK_TO_END ); if ( aStrm.Tell() > nZippedFileSize ) bUseJPGCompression = sal_False; } if ( bUseJPGCompression ) - rWriter.DrawJPGBitmap( aStrm, true, aSizePixel, Rectangle( aPoint, aSize ), aMask ); + rWriter.DrawJPGBitmap( aStrm, bTrueColorJPG, aSizePixel, Rectangle( aPoint, aSize ), aMask ); else if ( aBitmapEx.IsTransparent() ) rWriter.DrawBitmapEx( aPoint, aSize, aBitmapEx ); else |