Hi Ruud
No sorry I just tried this made no difference in the browser the image
just displays the actual image I want but if I open in inkscape I can
see all the interconnecting roads outside of the viewable box. We need
to do a clean crop where by all that is placed inside the viewbox is all
that is added to the svg not anything else as it is making the file to
big.
Thanks :)
Barry
On Wed, 2008-09-10 at 17:56 +0200, Ruud Steltenpool wrote:
> set the viewBox ?
>
>
> Barry wrote:
> > Hi
> >
> > I have managed to crop our svg map that we have using batik but I have
> > noticed that once I open the cropped image within Inkscape it shows any
> > line, rect etc that may interconnect with the viewable area. So I was
> > wondering is there a better way of doing this in batik or is there
> > something Im missing that somebody could point me towards please.
> >
> > Here is my code sample of the crop function:
> >
> > private void crop()throws NullPointerException, IOException{
> > // Create a rectangle at the position and size we wish to crop to
> > SVGRect rectangle = this.svgDocument.getRootElement().createSVGRect();
> > rectangle.setX(new Float(this.topXPosition));
> > rectangle.setY(new Float(this.topYPosition));
> > rectangle.setWidth(new Float(this.imageWidth));
> > rectangle.setHeight(new Float(this.imageHeight));
> >
> > NodeList croppedNodes =
> > this.svgDocument.getRootElement().getIntersectionList(rectangle, null);
> >
> > Element g = this.newSVGDocument.createElementNS(this.svgNS, "g");
> >
> > Element rect = this.newSVGDocument.createElementNS(this.svgNS, "rect");
> > rect.setAttribute("x", "0px");
> > rect.setAttribute("y", "0px");
> > rect.setAttribute("width", "" + this.imageWidth);
> > rect.setAttribute("height", "" + this.imageHeight);
> > rect.setAttribute("fill", "#FFFFFF");
> >
> > g.appendChild(rect);
> >
> > for(int i = 0; i < croppedNodes.getLength(); i++){
> >
> >
> > Node childNode = (Node)croppedNodes.item(i);
> >
> > if(childNode.getNodeType() == Node.ELEMENT_NODE){
> > Element e = this.newSVGDocument.createElement(childNode.getNodeName());
> >
> > // Process the attributes
> > if(childNode.hasAttributes()){
> > this.addAttributes(e, croppedNodes.item(i).getAttributes());
> > }
> >
> > // Process the children
> > if(childNode.hasChildNodes()){
> > this.addChildNodes(e, childNode.getChildNodes());
> > }
> >
> > g.appendChild(e);
> >
> > this.newSVGDocument.getDocumentElement().appendChild(g);
> > }
> > }
> >
> > try{
> > FileWriter fstream = new FileWriter(this.newPath);
> > DOMUtilities.writeDocument(this.newSVGDocument, fstream);
> > fstream.flush();
> > fstream.close();
> > } catch(IOException ioe){
> > System.out.println("Unable to write to file in crop: " +
> > ioe.getLocalizedMessage());
> > }
> > }
> >
> > Thanks for every ones help so far.
> >
> > Barry
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>