Tag: svg

在程序中如何在蜡染中更改SVG图像的属性?

我希望能够在程序运行时通过按下按钮来更改SVG文档的属性(例如,通过更改填充颜色将黑色方块变为蓝色)。 这是我的代码: this.addSVGDocumentLoaderListener(new SVGDocumentLoaderAdapter() { @Override public void documentLoadingCompleted(SVGDocumentLoaderEvent e) { setupSVGDocument(); }}); } private SVGDocument doc; private void setupSVGDocument(){ doc = this.getSVGDocument(); } 然后我希望能够使用doc来获取id的元素,并在按下这样的按钮时更改元素的属性: private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { el = doc.getElementById(“statusColor”); el.setAttributeNS(null, “stop-color”, “green”); } 图形不会更新! 请帮忙!

在EM中将EMF +(非WMF / EMF)文件转换为PNG

问题: 我有一个增强型Metafile Fromat Plus Extension EMF +的图像。 我需要使用java将此文件转换为PNG图像文件。 尝试解决java中的问题: Apache Batik不支持EMF +格式(Batik仅支持WMF格式)。 FreeHEP也不支持EMF + 。 它可以将EMF转换为SVG ,然后将SVG转换为PNG 。 我希望它可以帮助: EMF2SVG.main( new String[] {inputMetaFileName,ontputSvgFileName}); 此语句必须将EMF转换为SVG ,但会出现exception: 位于org.freehep.graphicsio的org.freehep.graphicsio.exportchooser.AbstractExportFileType.getGraphics(AbstractExportFileType.java:261)的org.freehep.graphicsio.exportchooser.AbstractExportFileType.exportToFile(AbstractExportFileType.java:248)中的java.lang.NullPointerException。 exportchooser.AbstractExportFileType.exportToFile(AbstractExportFileType.java:282)org.freehep.graphicsio.emf.EMFConverter.export(EMFConverter.java:81)at org.freehep.graphicsio.emf.EMF2SVG.main(EMF2SVG.java:27) 我用过这里的代码: try { // read the EMF file EMFRenderer emfRenderer = new EMFRenderer( new EMFInputStream( new ByteArrayInputStream(emfBytes))); EMFPanel emfPanel = new EMFPanel(); emfPanel.setRenderer(emfRenderer); // prepare Graphics2D FileOutputStream […]

如何从Graphics2D捕获图形基元到SVG

我需要从调用java.awt.Graphics2D捕获图形基元。 调用是通过开源工具包(Apache的PDFBox)进行的,通常在JPanel中呈现。 我想拦截这些调用并将它们转换为SVG,这样我就可以构建一个非图形数据模型(例如表格,图形等)。 在这个阶段,我会为任何类型的黑客感到高兴,其中可能包括: 用MyGraphics2D替换Graphics2D库 找到支持SVG输出并捕获它的Graphics2D 拦截对Graphics2D的调用(我不喜欢因为我必须管理仿射变换) 附属问题:Graphics2D是否使用图形库? 在这种情况下,如果我在此级别捕获,则应该应用转换。

Visio转SVG转换器

我们正在开发一个应用程序来在Mac Machine上渲染visio查看器, 最初的方法是将visio转换为SVG,然后渲染它, 是否有可用的转换器第三方或开源,我们将使用它!

如何在Java中以高性能显示许多SVG

我想要的是 我的目标是能够在Java中的单个绘图区域上显示大量SVG图像,每个图像都有自己的平移/旋转/缩放值。 我正在寻找最简单的解决方案,可选择甚至使用OpenGL来加快速度。 我试过的 我最初的天真的方法是使用SVGSalamander直接在JPanel上绘制,但性能是可悲的。 我四处寻找,并了解到我应该做一些事情,比如手动将每个SVG转换为用createCompatibleImage创建的BufferedImage,然后进行我想要的转换,然后使用双缓冲绘制它。 我在这里遇到了一些麻烦,在我继续之前,我试图寻找框架来简化事情。 我看到了什么 我对可用的选项感到有些不知所措,这就是为什么我转向SO寻求帮助的原因。 我看过: 开罗 (可能是格利茨 ?) Libart – 不确定这是否真的支持SVG 通风柜 光滑 – 看起来很有希望,但有点矫枉过正 但是无法决定什么对我来说最适合开始工作,我希望有人在这里做任何类似事情的经验。

如何配置Google AppEngine以使用矢量图形?

在使用Java8的AppEngine标准环境中尝试使用SVG时出现下一个错误。 当我尝试使用POI(如slide.draw(graphics2D)在XSLFSlide上绘制SVG或使用Batik将SVG转换为PNG时,我收到此错误。 似乎出现问题是因为fontconfig无法找到字体。 在debian发行版中,它通过安装libfontconfig1来解决。 如何在AppEngine上解决它? java.lang.NullPointerException at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264) at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219) at sun.awt.FontConfiguration.init(FontConfiguration.java:107) at sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:774) at sun.font.SunFontManager$2.run(SunFontManager.java:431) at java.security.AccessController.doPrivileged(Native Method) at sun.font.SunFontManager.(SunFontManager.java:376) at sun.awt.FcFontManager.(FcFontManager.java:35) at sun.awt.X11FontManager.(X11FontManager.java:57) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at java.lang.Class.newInstance(Class.java:443) at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83) at java.security.AccessController.doPrivileged(Native Method) at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74) at java.awt.Font.getFont2D(Font.java:491) at java.awt.Font.canDisplay(Font.java:1980) at org.apache.poi.sl.draw.DrawTextParagraph.canDisplayUpTo(DrawTextParagraph.java:756) at org.apache.poi.sl.draw.DrawTextParagraph.getAttributedString(DrawTextParagraph.java:640) at org.apache.poi.sl.draw.DrawTextParagraph.breakText(DrawTextParagraph.java:248) at org.apache.poi.sl.draw.DrawTextShape.drawParagraphs(DrawTextShape.java:159) […]

svg文件在android中呈现

我在Android中编写了一个程序,用于设置不同类型的图像作为我的背景图像,但它不能与svg文件一起使用。 我没有收到任何错误,它没有显示任何图像,我在使用svg文件时在我的模拟器中得到一个空白屏幕。 任何人都可以建议如何使用一些代码在Android中阅读和显示svg文件? 或者我应该转换xml代码?

将AWT图像转换为SVG图像

我正在使用以下代码摄取AWT图像(从PDF,到PDFBox): private java.awt.Graphics2D graphics; public void drawImage(java.awt.Image awtImage, java.awt.geom.AffineTransform at) { graphics.setComposite(getGraphicsState().getStrokeJavaComposite()); graphics.setClip(getGraphicsState().getCurrentClippingPath()); graphics.drawImage( awtImage, at, null ); } 并希望捕获/输出图像为SVG。 我一直在使用生成svgforms的Batik库 我有自己的SVG库,并希望将方法添加到我的SVGImage类中以生成类似的东西。 我是否需要将AffineTransformation应用于数据,如果是,如何? 我很高兴能够指出适当的(F / OSS)方法或可以做到这一点的库。 数据应该是内联的(如上例所示)和XML兼容。 更新:在没有任何答案或评论的情况下,我不得不编写自己的实现。 这不是完全无足轻重的,可能不是很强大或最好的解决方案。 我将其作为答案附加 – 请评论是否有缺陷或可以改进。

SVG到Java Graphics2D

任何人都可以提出一些从SVG数据生成Graphics2D对象的好方法吗? 我已经看过Apache Batic lib,但是它接触到它们使用了一些获取URI等的JSVGCanvas ……我想要一个Graphics2D的东西而不是JComponent。 谢谢你的任何建议!

如何显示SVG图形的子部分或“切片”?

有没有办法切片SVG。 我的意思是任何已经可用的lib。 我需要在Java中实现这个切片组件。 我的意思是,我有单个SVG文件和基于标尺/比例我选择图形,我想将单个SVG切成不同的SVG文件。 希望我很清楚