RE: fill-rule problem ..

It occurred to me that it might be useful to be able to specify more than
one color for fill, to alternate the color according to different
fill-rules. For instance:

<polygon points="100,20 165,196 26,87 176,87 42,198 " style='stroke:blue;
fill:yellow,blue; fill-rule:evenodd;'/>

would give a star with yellow arms and a blue center.

This might also be used to completly fill an enclosed area, by specifying
the same color twice.

Just an idea-
-Doug


> -----Original Message-----
> From: www-svg-request@w3.org [mailto:www-svg-request@w3.org]On Behalf Of
> Goessner / MecXpert
> Sent: Friday, May 03, 2002 4:46 AM
> To: www-svg@w3.org
> Subject: Re: fill-rule problem ..
>
>
> A solution to this problem might be an additional fill-rule, perhaps
>
> fill-rule="always"
>
> --
> stefan
>
>
>
> > i simplified the path to a square with a "V" in it.
> >
> > <svg width="300" height="200">
> >   <path id="A" transform="translate(20,20)" stroke-width="2"
> stroke="blue"
> > fill="lightgray" fill-rule="nonzero"
> >         d="M0,0 H100 V100 H0 Z M10,50 50,90 90,50" />  <!-- clockwise /
> > counterclockwise -->
> >   <path id="B" transform="translate(140,20)" stroke-width="2"
> stroke="blue"
> > fill="lightgray" fill-rule="nonzero"
> >         d="M0,0 H100 V100 H0 Z M90,50 50,90 10,50" />  <!-- clockwise /
> > clockwise -->
> > </svg>
> >
> > 1) if a (sub)path is not closed, an invisible closepath from the
> (sub)path's
> > current point to its initial point is used for filling.
> > 2) if one path contains the other completely the fill-rule determines if
> the
> > subpath has to be filled or not.
> > 3) fill-rule="nonzero" (the default) will
> >    a) fill the inner subpath, if it has the same (angular) direction as
> the
> > outer subpath.
> >    b) not fill the the inner subpath, if its angular direction is
> different
> > to the outer subpath's.
> > 4) fill-rule="evenodd" will never fill the inner subpath
> >
> >
> > it is conform to the SVG 1.1 spec, that there is *no way* to fill the
> square
> > in path (id="A") completely.
> > the path can be modified (id="B")to match point 3a) above. But
> in case of
> an
> > "N"-shaped subpath instead of a "V" that wouldn't help either.
> > --
> > stefan
> >
> >
> > ----- Original Message -----
> > From: "Doug Schepers" <doug@schepers.cc>
> > To: "Goessner / MecXpert" <goessner@mecxpert.de>
> > Sent: Wednesday, May 01, 2002 2:24 PM
> > Subject: Re: fill-rule problem ..
> >
> >
> > > Could this be a bug in ASV3?  I got it to render as solid once, after
> > > refreshing a couple of times, and once got a blue artifact
> line straight
> > > from (50,50) to (90,50). [WinMe/IE6/ASV3]
> > >
> > > What is the logic behind it not filling the square with gray? No lines
> are
> > > being crossed. Do I misunderstand the fill rule?
> > >
> > > -Doug
> > >
> > > ----- Original Message -----
> > > From: "Goessner / MecXpert" <goessner@mecxpert.de>
> > > To: <www-svg@w3.org>
> > > Sent: Wednesday, May 01, 2002 5:48 AM
> > > Subject: fill-rule problem ..
> > >
> > >
> > > > i have a simple square with two quadratic bezier segments
> in it. it is
> > > easy
> > > > to define this by a single path element.
> > > >
> > > > <svg>
> > > >   <path transform="translate(20,20)" stroke-width="2" stroke="blue"
> > > > fill="lightgray"
> > > >         d="M0,0 H100 V100 H0 Z M10,50 Q30,30 50,50 T90,50" />
> > > > </svg>
> > > >
> > > > but i cannot find a fill-rule to completely fill the
> square. even the
> > new
> > > > winding-count rule wouldn't work.
> > > >
> > > > --
> > > > stefan goessner
> > > >
> > > >
> > >
> >
>
>

Received on Friday, 3 May 2002 05:19:18 UTC