I'm trying to draw an example feature in a JFrame/JPanel while I'm creating a Style. When I draw the example feature, with the created style in the Frame, the feature is not drawn correctly when using hatched polygons, dashed lines, polygons filled with images etc. Other more simple styles are drawn correct. But in my map application all the features are drawn correctly together with the same styles. I create the styles for the example features exactly the same way as for the layers in my map application. Features with a style created from the SLD below is drawn correctly in the map but as a flat grey area in my SymViewer. What am I doing wrong?
First I create a temporary Style from all the inputs and an empty BufferedImage, then I send it SymViewer who draws an example feature in a JPanel. Thanks, Paul ----------------------------------------------------------------------- import java.awt.Color; import java.awt.Graphics; import java.awt.image.BufferedImage; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import org.geotools.map.legend.Drawer; import org.geotools.styling.Style; import org.locationtech.jts.geom.LineString; import org.locationtech.jts.geom.Point; import org.locationtech.jts.geom.Polygon; import org.opengis.feature.simple.SimpleFeature; import javax.swing.border.LineBorder; import java.awt.SystemColor; public class SymViewer extends JFrame { private static final long serialVersionUID = 1L; private JPanel contentPane; /** * Create the frame. */ public SymViewer(BufferedImage img, Style style, String title, String titleExtra, String geoType) { setBackground(SystemColor.text); setTitle(title + " " + titleExtra); BufferedImage image = drawSymbolic(img, style, geoType); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(0, 0, 439, 266); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); JPanel panel = new JPanel() { private static final long serialVersionUID = 1L; @Override protected void paintComponent(Graphics g) { super.paintComponent(g); g.drawImage(image, 0, 0, null); } }; panel.setBorder(new LineBorder(new Color(0, 0, 0))); panel.setBounds(0, 0, 434, 261); panel.setBackground(SystemColor.menu); contentPane.add(panel); } private BufferedImage drawSymbolic(BufferedImage img, Style style, String geoType) { Drawer drawer = Drawer.create(); SimpleFeature feature = null; if (geoType.contains("Line")){ LineString line = drawer.line(new int[] { 15, 15, 400, 20, 15, 200 }); feature = drawer.feature(line); } else if(geoType.contains("Polygon")) { Polygon p = drawer.polygon(new int[] { 15, 15, 400, 5, 400, 200, 15, 200, 15, 15 }); feature = drawer.feature(p); } else if(geoType.contains("Point")) { Point p = drawer.point(216, 130); feature = drawer.feature(p); } if(feature != null) { drawer.drawDirect(img, feature, style); return img; } return null; } } --------------------------------------------------------------------------------------- SLD file: <?xml version="1.0" encoding="ISO-8859-1"?> <sld:StyledLayerDescriptor xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd" xmlns="http://www.opengis.net/sld" xmlns:sld="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0"> <sld:NamedLayer> <sld:Name>Graphic fill</sld:Name> <sld:UserStyle> <sld:Title>Graphic fill</sld:Title> <sld:FeatureTypeStyle> <sld:Rule> <sld:PolygonSymbolizer> <sld:Fill> <sld:GraphicFill> <sld:Graphic> <sld:ExternalGraphic> <sld:OnlineResource xlink:type="simple" xlink:href="magnus.png" /> <sld:Format>image/png</sld:Format> </sld:ExternalGraphic> <sld:Size>93</sld:Size> </sld:Graphic> </sld:GraphicFill> </sld:Fill> </sld:PolygonSymbolizer> </sld:Rule> </sld:FeatureTypeStyle> </sld:UserStyle> </sld:NamedLayer> </sld:StyledLayerDescriptor>
_______________________________________________ GeoTools-GT2-Users mailing list GeoTools-GT2-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users