<light>And Wade is enlightened!</light> Apparently I had made a "tiny" change when I transcribed the example. The original example defined the rect as 'x="0" y="0"' and put it in a <g/> with a transform.
I now understand, where my problem is and, more importantly, how to get the effect I want. Thanks, as always, G. Wade Thomas DeWeese wrote: > > G. Wade Johnson wrote: > > >I may have found a problem with pattern filling in Batik. I was working on an > >example from the O'Reilly "SVG Essentials" book and Batik does not match the > >description in the book. ASV does match the book. > > > >I don't fully understand what the spec says about the patternUnits and > >patternContentUnits attributes, but the behavior of this pattern doesn't match > >anything I can come up with. > > > This is very complex, but my (fairly careful) reading of the > specification says Batik > is right on this one. Basiclly you have to keep in mind that 0,0 in > Object boundingBoxUnits > is (in this case) really 10,10. So if you do the substitution you can see: > > > <pattern id="tile" x="10" y="10" [...]> > > <path d="M10,10 [...] /> > > <path d="M10,10 [...] /> > > </pattern> > > > > > Since x,y on pattern define a new coordinate system that is used for > the > replicated content, you really want M0,0. This is a bit of an odd case > as you are 'mixing' coordinate systems that don't make sense to mix (you > end up > applying the objectBoundingBox transform twice). I essentially always > use viewBox > to establish the inner coodinate system as this almost always makes a > lot more sense > (at least to me). > > >My understanding is that the example below should tile with the blocks side by side > >all over the area of the rect. In reality, each tile is offset by the x,y > >coordinates of the rectangle. > > > >Otherwise, can somebody tell me what I'm doing wrong? > > > I hope I've done so. :) > > >Thanks, > >G. Wade > > > ><?xml version="1.0"?> > ><svg xmlns="http://www.w3.org/2000/svg" > > xmlns:xlink="http://www.w3.org/1999/xlink" > > width="300" height="300"> > > <defs> > > <pattern id="tile" x="0" y="0" width="0.2" height="0.2" > > patternUnits="objectBoundingBox" > > patternContentUnits="objectBoundingBox"> > > <!-- Doesn't display together in Batik --> > > <path d="M0,0 Q.05 .20 .10 .10 T .20 .20" > > style="stroke: black; fill:none; > >stroke-width:0.01;"/> > > <path d="M0,0h0.2v0.2h-0.2z" > > style="stroke: black; fill:none; > >stroke-width:0.005;"/> > > </pattern> > > </defs> > > > > <rect id="bkg" x="10" y="10" height="280" width="280" > > fill="url(#tile)" stroke="#888" stroke-width="0.5"/> > ></svg> > > > >--------------------------------------------------------------------- > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
