Hi All,
Note: If I apply the transform immediately after I create the symbol:
$symbol:=DOM Create XML
element($defs;"image";"id";$name;"xlink:href";$image;"x";0;"y";0;"width";$width;"height";$height)
SVG_SET_TRANSFORM_SCALE ($symbol;18/$width;18/$height)
That seems to work and would be fine if all I needed were uniform sizes in the
doc. In this example I am resizing them so they are 18 by 18 pixels. But as
indicated previously the end user can set a size property to enlarge or shrink
these sizes for the same symbol in different parts of the doc. So I need to
resize and reposition where they are actually used.
Not sure if this is a clue or…
John...
> Hi All,
>
> I’m in the process of changing some SVG routines to be a bit more efficient
> (I think).
>
> Miyako showed me how to embed svg images as “defs”:
>
> $defs:=SVG_Define_symbol ($domSvg_ptr->;"defs”)
>
> so I could reuse the graphics without reloading them several times. This part
> works perfectly.
>
> Previously I would read the image from disk and resize and place:
>
> $tDom_Image:=SVG_New_image ($$domSvg_ptr->;$image_t;$x;$y;$w;$h)
>
> Worked great! no matter the size of the original svg image on disk which are
> in the neighborhood of 1000 pixels width/height (although there is
> variation). And I can’t set the originals to a fixed size because the end
> user can change the same image, in different places of the svg document, to
> different sizes. So I need to managing the image sizes dynamically.
>
> Anyway, now that I am accessing these “defs” images using:
>
> $glyph:=SVG_Use ($domSvg_ptr->;$id;$inX;$inY;$size_IntrcG;$size_IntrcG)
>
>
> I have to both resize the image and make sure it stays at the x/y coords I
> need.
>
> But it’s not!
>
> To reset the size I believe I have to use (0.02 being used for testing):
>
> SVG_SET_TRANSFORM_SCALE ($glyph;0.02;0.02)
>
>
> To reposition at the x/y I believe I have to use:
>
> SVG_SET_TRANSFORM_TRANSLATE ($glyph;$inX;$inY)
>
> The scaling seems to scale BUT the translate is not placing the images at the
> x/y location I need. Although, the attributes for the object look correct:
>
> height - 14
> transform - scale(0.02,0.02)
> width - 14
> x - 660
> xlink:href - #S09
> y - 660
>
> I am assuming (until I know better) that these values are correct.
>
> So I must be missing something? How do I control both the height/width (I
> think I am) and the exact x/y placement when I am creating an image using
> SVG_Use?
>
> Anyone?
>
> Thanks,
> John…
>
>
**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ: http://lists.4d.com/faqnug.html
Archive: http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub: mailto:[email protected]
**********************************************************************