diff options
author | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2015-12-07 23:40:39 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2016-01-13 20:38:54 +0000 |
commit | cb72051d70a844077363d52a1a54d083136cde03 (patch) | |
tree | cfac3a5867c99b1dcf724a7f32665ad88e1c24f9 /svx | |
parent | 35097f9a57a50ca6bd2d32c2f468d9b26bad4d1c (diff) |
Related: tdf#71622 compress more gfx in odf streams
Except for jpeg and png, most natively-stored image fileformats compress
rather well with zlib. adding a number of vector and pixel formats.
Change-Id: I97407a98f620520b0d11552911d2339bf004dc5b
Reviewed-on: https://gerrit.libreoffice.org/20461
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
(cherry picked from commit ad0edc184792f3aa3f72e8d4ec8b76c3d1bf8479)
Reviewed-on: https://gerrit.libreoffice.org/20467
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
(cherry picked from commit 26f62c80aa3684301e29dd17f9efba1bcd68264d)
Reviewed-on: https://gerrit.libreoffice.org/21438
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/xml/xmlgrhlp.cxx | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/svx/source/xml/xmlgrhlp.cxx b/svx/source/xml/xmlgrhlp.cxx index fa21c1728fba..5c7b0ff79e5b 100644 --- a/svx/source/xml/xmlgrhlp.cxx +++ b/svx/source/xml/xmlgrhlp.cxx @@ -533,7 +533,33 @@ bool SvXMLGraphicHelper::ImplWriteGraphic( const OUString& rPictureStorageName, xProps->setPropertyValue( "MediaType", aAny ); } - const bool bCompressed = aMimeType.isEmpty() || aMimeType == "image/tiff" || aMimeType == "image/svg+xml"; + // picture formats that actuall _do_ benefit from zip + // storage compression + // .svm pics gets compressed via ZBITMAP old-style stream + // option below + static const char* aCompressiblePics[] = + { + "image/svg+xml", + "image/x-wmf", + "image/tiff", + "image/x-eps", + "image/bmp", + "image/x-pict" + }; + + bool bCompressed = aMimeType.isEmpty(); + if( !bCompressed ) + { + for( size_t i = 0; i < SAL_N_ELEMENTS(aCompressiblePics); ++i ) + { + if( aMimeType.equalsIgnoreAsciiCaseAscii(aCompressiblePics[i]) ) + { + bCompressed = true; + break; + } + } + } + aAny <<= bCompressed; xProps->setPropertyValue( "Compressed", aAny ); |