Bug 37559 pixel artefacts in graphic objects in exported PDF

Johannes Sixt j6t at kdbg.org
Fri Jul 13 14:26:43 PDT 2012


Am 13.07.2012 21:34, schrieb Caolán McNamara:
> On Wed, 2012-07-11 at 21:51 +0200, Johannes Sixt wrote:
>> Thanks. The artefacts seem to be connected to
>> VclProcessor2D::RenderPolygonStrokePrimitive2D(). If I comment out all
>> mpOutputDevice->DrawPolyLine() calls in that function, the artefacts
>> vanish (the lines vanish, too, of course).
> 
> Some antialiasing type thing stuff bleeding out which might go away with
> the addition of some clipping area. Just a complete guess.

No. I just found out that the points are definitely part of the model,
not just drawing artefacts. They are rendered as a polygons with only
one line segment (2 points) with identical start and end point.

The XML of one of the rounded rectangles is:

     <draw:enhanced-geometry svg:viewBox="0 0 21600 21600"
	 draw:mirror-horizontal="false" draw:mirror-vertical="false"
	 draw:path-stretchpoint-x="10800"
	 draw:path-stretchpoint-y="10800"
	 draw:text-areas="?f3 ?f4 ?f5 ?f6"
	 draw:type="round-rectangle" draw:modifiers="6274"
	 draw:enhanced-path="M ?f7 0 X 0 ?f8 L 0 ?f9 Y ?f7 21600 L ?f10 21600 X
21600 ?f9 L 21600 ?f8 Y ?f10 0 Z N">
      <draw:equation draw:name="f0" draw:formula="45"/>
      <draw:equation draw:name="f1" draw:formula="$0 *sin(?f0 *(pi/180))"/>
      <draw:equation draw:name="f2" draw:formula="?f1 *3163/7636"/>
      <draw:equation draw:name="f3" draw:formula="left+?f2 "/>
      <draw:equation draw:name="f4" draw:formula="top+?f2 "/>
      <draw:equation draw:name="f5" draw:formula="right-?f2 "/>
      <draw:equation draw:name="f6" draw:formula="bottom-?f2 "/>
      <draw:equation draw:name="f7" draw:formula="left+$0 "/>
      <draw:equation draw:name="f8" draw:formula="top+$0 "/>
      <draw:equation draw:name="f9" draw:formula="bottom-$0 "/>
      <draw:equation draw:name="f10" draw:formula="right-$0 "/>
      <draw:handle draw:handle-position="$0 top"
	 draw:handle-switched="true" draw:handle-range-x-minimum="0"
	 draw:handle-range-x-maximum="10800"/>
     </draw:enhanced-geometry>

Remove the 'draw:enhanced-path' attribute and the artefacts go away. But
this is just a shot in the dark.

What is this all about? Is an "enhanced path" a necessary part of a
rounded rectangle?

I don't remember whether the artwork I am inspecting here was converted
from MS Word, or if it was drawn manually in LO Draw -- if that makes a
difference.

I'll dig further...

-- Hannes


More information about the LibreOffice mailing list