- From: Stephen White <senorblanco@chromium.org>
- Date: Fri, 9 Aug 2013 12:52:25 -0400
- To: "public-fx@w3.org" <public-fx@w3.org>
- Message-ID: <CAPeKFThY1EcvSqWh2_U0bTzpAOBv9Bi8y+PdB+XDzaVFB9Cy_A@mail.gmail.com>
If the filter primitive subregion is set, should filters access pixels from the input image from outside the subregion? Here's a fiddle to show what I mean: http://jsfiddle.net/VFccX/. It contains a 100x100 green box inset within a 200x200 red box. It is blurred by an feGaussianBlur with a filter primitive subregion set to the 100x100 interior box. On Chrome, the result contains no red. On Firefox, Safari and IE10, the result contains red bleeding at the corners. According to my reading of the spec: ‘x’ <http://www.w3.org/TR/SVG11/filters.html#FilterPrimitiveXAttribute>, ‘y’<http://www.w3.org/TR/SVG11/filters.html#FilterPrimitiveYAttribute> , ‘width’<http://www.w3.org/TR/SVG11/filters.html#FilterPrimitiveWidthAttribute> and ‘height’<http://www.w3.org/TR/SVG11/filters.html#FilterPrimitiveHeightAttribute> act as a hard clip clipping rectangle on both the filter primitive's input image(s) and the filter primitive result. it sounds like the input image should be (semantically) clipped, so that none of the pixels outside the image should be accessed. On a related note, the subsequent paragraph is a bit confusing: All intermediate offscreens are defined to not exceed the intersection of ‘x’ <http://www.w3.org/TR/SVG11/filters.html#FilterPrimitiveXAttribute>, ‘y’<http://www.w3.org/TR/SVG11/filters.html#FilterPrimitiveYAttribute> , ‘width’<http://www.w3.org/TR/SVG11/filters.html#FilterPrimitiveWidthAttribute> and ‘height’<http://www.w3.org/TR/SVG11/filters.html#FilterPrimitiveHeightAttribute> with the filter region<http://www.w3.org/TR/SVG11/filters.html#FilterEffectsRegion>. The filter region<http://www.w3.org/TR/SVG11/filters.html#FilterEffectsRegion> and any of the ‘x’<http://www.w3.org/TR/SVG11/filters.html#FilterPrimitiveXAttribute> , ‘y’ <http://www.w3.org/TR/SVG11/filters.html#FilterPrimitiveYAttribute>, ‘width’<http://www.w3.org/TR/SVG11/filters.html#FilterPrimitiveWidthAttribute> and ‘height’<http://www.w3.org/TR/SVG11/filters.html#FilterPrimitiveHeightAttribute> subregions are to be set up such that all offscreens are made big enough to accommodate any pixels which even partly intersect with either the filter region <http://www.w3.org/TR/SVG11/filters.html#FilterEffectsRegion> or the x,y,width,height subregions. The last sentence here seems to contradict the first: if the offscreen is not to exceed the intersection of the subregion and filter region, how can it accommodate pixels which "intersect with either the filter region or the subregion" (sounds more like a union)? Thanks for any insight, Stephen
Received on Friday, 9 August 2013 16:52:52 UTC