在java中显示svg图
下载bakit工程
http://xmlgraphics.apache.org/batik/download.cgi
介绍
http://xmlgraphics.apache.org/batik/index.html
创建svg文档对象
String parser = XMLResourceDescriptor.getXMLParserClassName(); SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser); File file = new File("bin/com/longshine/svg/ui/3D.svg"); Document indexDoc = f.createDocument(file.toURL().toString());
在swing面板中加入文档对象显示
JSVGCanvas canvas = new JSVGCanvas();//用于显示svg图 canvas.setBackground(Color.BLACK); canvas.setVisible(true); canvas.setBounds(0, 0, 800, 600); canvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC); canvas.setDocument(indexDoc); this.add(canvas);//swing面板中加入画布
package com.longshine.svg.ui; import java.awt.Color; import java.io.File; import java.io.IOException; import java.net.MalformedURLException; import javax.swing.JFrame; import org.apache.batik.dom.svg.SAXSVGDocumentFactory; import org.apache.batik.swing.JSVGCanvas; import org.apache.batik.util.XMLResourceDescriptor; import org.w3c.dom.Document; public class SVGUIApp extends JFrame{ public void init(){ this.setBounds(0, 0, 800, 600); this.setDefaultCloseOperation(3); this.setVisible(true); String parser = XMLResourceDescriptor.getXMLParserClassName(); SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser); File file = new File("bin/com/longshine/svg/ui/3D.svg"); try { Document indexDoc = f.createDocument(file.toURL().toString()); JSVGCanvas canvas = new JSVGCanvas(); canvas.setBackground(Color.BLACK); canvas.setVisible(true); canvas.setBounds(0, 0, 800, 600); canvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC); canvas.setDocument(indexDoc); this.add(canvas); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args){ new SVGUIApp().init(); } }
发表评论
-
java中断线程
2015-05-21 18:29 643Thread.stop方法可能中断线程,但不安全,此方法都 ... -
NIO下载服务器模拟实现(一)
2015-05-21 11:28 0从JDK 1.4开始,Java的标 ... -
java NIO教程
2015-05-18 10:39 0Java NIO提供了与标准IO ... -
Java反射,改变final属性
2015-05-16 16:58 560问: 怎么改变final属性? public cl ... -
直接插入排序
2015-05-09 17:47 558插入排序包括 直接插入排序, 折半插入排序, Shell排序 ... -
曾经的笔试题-- java Cloneable
2015-05-09 10:12 0public class CloneTest { ... -
一个公司的笔试题
2015-05-09 08:02 01.编程题,用两个线程实现对容量为10的队列的加入与取出. ... -
Shell排序
2014-03-26 17:01 0在 -
快速排序
2015-05-09 13:52 362快速排序使用分治法策略来把一个串行分为两个子串行。 步骤 ... -
java 虚拟机加载机制
2014-03-25 10:42 0虚拟机把描述类的数据从class文件加载到内存,并对数据进 ... -
java Class 类
2014-03-25 10:01 0Class对象 是用来创建类的常规对象的,当我们编译一个Ja ... -
成都网丁有限公司面试题
2014-03-24 16:44 0OO OO的原理 值传递与引用传递 ... -
自律编(一) java访问修饰符
2014-03-24 16:23 0一直以为java里只有三种访问修饰符 public, pr ... -
华莱公司笔试
2014-03-12 19:49 0public class Test { publi ... -
sleep与wait
2014-03-03 14:43 0Obj.wait(),与Obj.notify()必须要与syn ... -
线程、进程
2014-03-03 14:39 0线程:程序内部独立运行单位 线程与进程区别: 1 ... -
transient
2014-03-03 13:59 0java语言的关键字,变量修饰符,如果用transient声 ... -
java中关键字volatile的作用
2014-03-03 13:57 0用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A ... -
手机音响(一) java客户端逻辑层
2014-02-17 10:48 0北京科*公司配了一台电脑给我,但没有声音,耳机要连到主机箱 ... -
游戏 压力测试工具
2014-02-14 18:16 0公司让我为游戏做个 压力测试工具 ...
相关推荐
"桌面应用程序.rar"这个压缩包文件的标题暗示了它包含的内容可能与开发或部署桌面应用程序有关。虽然没有明确的描述,但我们可以根据标签和子文件夹名称来推测其中的知识点。 1. **WEB-INF**: 这是Java Web应用中一...
适用苹果,win平台,下载项目 执行打包代码,将应用程序使用,桌面出现可拖动动态时钟,代码简单,可自定义个性化 1、下载代码 2、建立依赖 3、yarn start/npm start 在线运行 4、yarn package/npm package 打包mac...
标题中的“基于Chromium内核的DotNET桌面应用”指的是使用.NET框架结合Chromium Embedded Framework (CEF) 创建的桌面应用程序。CEF是一个开源项目,它允许开发者将Chromium浏览器引擎集成到各种应用程序中,包括...
Eclipse RCP是一种基于Java的框架,用于创建桌面应用程序,它充分利用了Eclipse的插件体系结构和开发环境的强大力量。 Eclipse RCP应用程序的开发涉及多个方面,包括视图、编辑器、透视图、操作和命令等,每个组件...
SVG与C++的结合通常涉及到图形库的使用,如Qt库中的QSvgRenderer或Cairo库,这些库允许开发者在C++应用程序中解析和渲染SVG图像。C++与SVG的集成可以为桌面应用、游戏或者嵌入式系统提供美观且灵活的图形界面。 在...
在C#中,WinForms应用程序通常用于构建桌面用户界面。如果你想要在WinForm窗体上显示SVG(可缩放矢量图形)文件,这需要利用特定的库或组件,因为.NET Framework本身并不直接支持SVG格式。以下是一个详细的步骤指南...
C#是Microsoft开发的一种面向对象的编程语言,常用于构建Windows桌面应用程序和Web应用程序。在这个项目中,C#被用来开发一个SVG文件编辑器,名为SVGPad。 SVGPad提供了SVG文件的基本编辑功能,用户可以创建新的SVG...
C#是一种流行的编程语言,特别适合开发这种桌面应用程序,因为它提供了丰富的类库和强大的.NET Framework支持。 描述中提到的链接指向了一篇CSDN博客文章,作者分享了更多关于该程序的详细信息和使用效果。通过这篇...
**Delphi** 是一种流行的面向对象的编程语言,由Embarcadero Technologies开发,常用于构建桌面应用程序。它具有强大的集成开发环境(IDE)和丰富的类库,使得开发过程高效且直观。 **Delphi SVG组件库** 是专门为...
该项目是一款采用SpringBoot、Swing、H2数据库和JPA构建的桌面应用程序设计源码,包含43个文件,涵盖17个Java源文件、13个PNG图像文件、3个表单文件、2个SQL和SVG文件,以及其他相关配置和文档。该应用程序适用于...
- **API接口**:开发者可以通过编程语言(如JavaScript、Python等)调用这些SVG地图,将其嵌入到Web应用、移动应用或桌面应用中,实现地图的动态显示和交互功能。 - **地图服务**:可以将SVG地图作为地图服务的一...
对于Web,Cax则为开发者提供了一种统一的方式来处理SVG图形,无论用户是在桌面浏览器还是移动设备上。 这个库可能包含了丰富的API和工具,允许开发者轻松地加载SVG文件,进行图形操作,如变换、动画,甚至可能支持...
在软件开发领域,Qt是一个强大的跨平台应用程序开发框架,它提供了丰富的库和工具,使得开发者能够构建桌面、移动甚至嵌入式设备的应用程序。而Qt WebEngine是Qt框架的一部分,它允许开发者在Qt应用中嵌入Web内容,...
它提供了一个平台,使得开发者可以使用HTML、CSS和JavaScript来创建桌面应用程序,这极大地降低了桌面应用开发的门槛,特别是对于熟悉Web技术的开发者来说。 **核心组件** 1. **Chromium**: NW.js使用了Chromium...
总的来说,这个资源为C# .NET WinForm开发人员提供了一个方便的工具,使得在桌面应用中集成SVG图形成为可能。通过学习和使用这些源代码,你可以更好地理解和掌握SVG在Windows应用程序中的应用,为你的项目增添更多...
在计算机图形领域,SVG(Scalable Vector Graphics)是一种基于XML的矢量图像格式,它可以无限放大而不失真,广泛应用于Web、移动应用和桌面应用程序中。QT,作为一款跨平台的C++开发框架,提供了对SVG的支持,允许...