> > Batik's ImageTranscoder seems to ignore imported styles.
> > 
> > @import url("../default.css");
> > 
> > Is this not supported? The styles defined there are not visible AFAICS.
> 
> Hi Ralf,
> 
>      I believe it is.  Can you provide a reproducable test case?

Yep, here we go:

______________________________________________________________________

[ CSSImportDemo.svg ]
______________________________________________________________________



<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" 
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"; [
        <!ENTITY ns_svg "http://www.w3.org/2000/svg";>
        <!ENTITY ns_xlink "http://www.w3.org/1999/xlink";>
]>
<!-- external CSS -->
<?xml-stylesheet type="text/css" href="styleB.css" ?>
<svg xmlns="&ns_svg;" xmlns:xlink="&ns_xlink;" width="310" height="540"
xml:space="preserve">
        <rect x="10" y="10" width="100" height="20" />
        <circle cx="50" cy="50" r="20" />
</svg>

______________________________________________________________________

[ styleA.css ]
______________________________________________________________________

circle  {
        fill:#0000FF;
}

______________________________________________________________________

[ styleB.css ]
______________________________________________________________________

@import url("styleA.css");

rect  {
        fill:#FF0000;
}

______________________________________________________________________

[ CSSImportDemo.java ] (taken from Batik's site)
______________________________________________________________________

import java.io.*;
import org.apache.batik.transcoder.image.JPEGTranscoder;
import org.apache.batik.transcoder.TranscoderInput;
import org.apache.batik.transcoder.TranscoderOutput;

public class CSSImportDemo {

        public static void main(String[] args) throws Exception {
                
                // create a JPEG transcoder
                JPEGTranscoder t = new JPEGTranscoder();
                // set the transcoding hints
                t.addTranscodingHint(JPEGTranscoder.KEY_QUALITY, new Float(.8));
                // create the transcoder input
                String svgURI = new File("CSSImportDemo.svg").toURL().toString();
                TranscoderInput input = new TranscoderInput(svgURI);
                // create the transcoder output
                OutputStream ostream = new FileOutputStream("out.jpg");
                TranscoderOutput output = new TranscoderOutput(ostream);
                // save the image
                t.transcode(input, output);
                // flush and close the stream then exit
                ostream.flush();
                ostream.close();
                System.exit(0);
        }
}


______________________________________________________________________

The rect appears "red" as expected, whereas the circle should glow
"blue" - but it doesn't.

Thanks.

ralf ...

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to