summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2016-02-03 12:36:09 +0000
committerNorbert Thiebaud <nthiebaud@gmail.com>2016-02-04 13:59:22 +0000
commit66c3261ed55735fd6ab927c310e214f43b1f5922 (patch)
tree7e749f2702b1f1f32877844d7a845fe14a83574e
parentedc44d944a3465c4387548d2ddd69ba1f67970fe (diff)
Resolves: tdf#96653 distorted images on export to pdf
regression from: commit ffe150ce903d9cdc62c25ad3437e61d24ede17d6 Date: Fri Dec 4 18:19:08 2015 +0100 tdf#94739 use GetScanlineSize instead of calculating it which was on the right track in the sense that the original code was wrong and only worked for <= 8 bit depth images Change-Id: Iee54a9f29dd0fdaf3e1f2aeb7b9898cecb453e37 (cherry picked from commit 384c815eda697d75706f686dc2ceb227b4d3f245) Reviewed-on: https://gerrit.libreoffice.org/22077 Tested-by: Norbert Thiebaud <nthiebaud@gmail.com> Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
-rw-r--r--vcl/source/gdi/pdfwriter_impl.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/vcl/source/gdi/pdfwriter_impl.cxx b/vcl/source/gdi/pdfwriter_impl.cxx
index e509b1a7766d..f2974a25396c 100644
--- a/vcl/source/gdi/pdfwriter_impl.cxx
+++ b/vcl/source/gdi/pdfwriter_impl.cxx
@@ -11426,7 +11426,8 @@ bool PDFWriterImpl::writeBitmapObject( BitmapEmit& rObject, bool bMask )
beginCompression();
if( ! bTrueColor || pAccess->GetScanlineFormat() == BMP_FORMAT_24BIT_TC_RGB )
{
- const int nScanLineBytes = pAccess->GetScanlineSize();
+ //With PDF bitmaps, each row is padded to a BYTE boundary (multiple of 8 bits).
+ const int nScanLineBytes = ((pAccess->GetBitCount() * pAccess->Width()) + 7U) / 8U;
for( int i = 0; i < pAccess->Height(); i++ )
{