summaryrefslogtreecommitdiff
path: root/filter/source/pdf
diff options
context:
space:
mode:
authorPhilipp Lohmann [pl] <Philipp.Lohmann@Sun.COM>2010-05-28 15:24:45 +0200
committerPhilipp Lohmann [pl] <Philipp.Lohmann@Sun.COM>2010-05-28 15:24:45 +0200
commitac8931355088e3d5c811309342f6af999da92cd8 (patch)
tree6e42aad5e32c5478b7457adc0385e8b8053685fb /filter/source/pdf
parentfc3cbc8eeeb9631f42fd56b4bb3202730865c5f6 (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.cxx4
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