Apache OpenOffice (AOO) Bugzilla – Issue 121183
Page background hatch is very bad in PPT
Last modified: 2013-07-12 16:25:38 UTC
ALG: To reproduce: - Open new presentation - Set page background to any hatch style (context menu on slide, page setup->Background->Hatching->Black 45 deg wide, for all pages) - save as PPT and reload (or check in PPT) -> Hatch looks very bad (lloks as if converted to a bitmap with very low resolution)
ALG: It is converted to a 28x28 pixel bitmap, probably because it needs to be a fill style for page background. The method used is lclDrawHatch. It may be possible to change this to creation of a bitmap for the whole page, but this would extend the export size unnecessarily.
ALG: Found a way to use a MetaFile when exporting a hatch filled background instead of a limited bitmap. This works well and ppt will use and show vector data. This also solves the size and quality problem. Only caveat is that the roundtrip shows bad quality. After investigation it shows that this is just a visualisation problem; as a result of #119125# any graphic can be used as fill style, but it's usage in SdrFillBitmapAttribute will still always convert it to a BitmapEx. This is a very good target for a further change to keep evtl. metafile and/or svg data down to the primitive usages. Taking a deeper look...
"alg" committed SVN revision 1396082 into trunk: #121183# enhance export of hatch masterpagebackgrund for ppt format
ALG: Basic changes commtted in revision 1396082, taking action on graphic handling stuff...
ALG: First step: Buffer evtl. created Bitmap/BitmapEx in ImpGraphic in the local BitmapEx (maEx) when Graphic is a metafile. This is similar to buffering SVG's replacement graphic and pretty straight forward, should workl the same as with svg and avoid multiple renderings.
"alg" committed SVN revision 1396533 into trunk: #121183# Added buffering non-bitmap formats in Graphic
ALG: Okay, done. Now check how to best get more common graphic information down the pipeline...
ALG: The change to use vector data in the pipeline is a bigger change, wrote #121194# for it. This task is done.
verified on build 1404513 following the original reproduced steps, pass