- From: Derek Hohls <DHohls@csir.co.za>
- Date: Thu, 06 Mar 2003 12:51:43 +0200
- To: <www-svg@w3.org>
- Message-Id: <se67447e.037@CS-IMO.CSIR.CO.ZA>
Andrew
Thanks for this - I guess I will have to brush up on the use
of the "transform" - I assume the sample code you give below
can also work with metric units (mm or cm). That is, one
can "translate" using something like:
translate(6cm,2cm)?
Of course, the scale would work the same, regardless of the
units for the graphical element.
Thanks again
Derek
>>> <AndrewWatt2001@aol.com> 06/03/2003 12:34:51 >>>
In a message dated 06/03/2003 09:51:18 GMT Standard Time,
DHohls@csir.co.za writes:
Andrew
Thanks for this - yes, it does produce what I want, but misses
what I am trying to achieve.
I only want to create *one* <rect>
You had three in your original code, so I assumed that was what you
intended.
and then be able to move
*and* resize or recolor it as I need; otherwise there is little or
no point in having the <use> element at all, that I can see, and
the SVG agains becomes long-winded and harder to maintain.
Can you help with this approach
Something like this?
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg width="600" height="400"
xmlns="http://www.w3.org/2000/svg">
<desc>Local URI references within ancestor's 'defs' element.</desc>
<defs>
<linearGradient id="Gradient01">
<stop offset="20%" stop-color="#39F" />
<stop offset="90%" stop-color="#F3F" />
</linearGradient>
<linearGradient id="Gradient02">
<stop offset="20%" stop-color="#990066" />
<stop offset="50%" stop-color="#CCCCCC" />
<stop offset="90%" stop-color="#660099" />
</linearGradient>
<rect id="rect1" x="-60" y="-20" width="120" height="40" />
</defs>
<!-- test xlink -->
<use xlink:href="#rect1" fill="url(#Gradient01)"
transform="translate(100,60)"/>
<use xlink:href="#rect1" fill="url(#Gradient01)"
transform="scale(0.33,1) translate(180,110) " />
<use xlink:href="#rect1" y="2.2cm" fill="url(#Gradient02)"
transform="scale(1,4) translate(100, -25)" />
<!-- Show outline of canvas using 'rect' element -->
<rect x="0" y="0" width="598" height="398"
fill="none" stroke="blue" stroke-width="1" />
</svg>
or, failing that point me to
a reasonable description of the role and limits(?) of the <use>
element?
I don't know of a description of the <use> element that is complete and
"reasonable". Chapter 5.6 of the SVG 1.0 Recommendation certainly isn't
"reasonable" in terms of comprehensibility for many readers.
I have written a couple of short tutorials on the <use> element in
Designing SVG Web Graphics and in SVG Unleashed but those descriptions
are introductions to it, making no attempt to be exhaustive.
I hope that helps.
Andrew Watt
Thanks
Derek
--
This message has been scanned for viruses and dangerous content by
MailScanner, and is believed to be clean.
"The CSIR exercises no editorial control over E-mail messages and/or
attachments thereto/links referred to therein originating in the
organisation and the views in this message/attachments thereto are
therefore not necessarily those of the CSIR and/or its employees.
The sender of this e-mail is, moreover, in terms of the CSIR's Conditions
of Service, subject to compliance with the CSIR's internal E-mail and
Internet Policy."
Received on Thursday, 6 March 2003 05:52:42 UTC