`

svg桌面应用程序(一)

 
阅读更多

在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();
	}
}

 

 

 

 

  • 大小: 18.6 KB
分享到:
评论

相关推荐

    桌面应用程序.rar

    "桌面应用程序.rar"这个压缩包文件的标题暗示了它包含的内容可能与开发或部署桌面应用程序有关。虽然没有明确的描述,但我们可以根据标签和子文件夹名称来推测其中的知识点。 1. **WEB-INF**: 这是Java Web应用中一...

    桌面应用程序-时钟svg

    适用苹果,win平台,下载项目 执行打包代码,将应用程序使用,桌面出现可拖动动态时钟,代码简单,可自定义个性化 1、下载代码 2、建立依赖 3、yarn start/npm start 在线运行 4、yarn package/npm package 打包mac...

    基于Chromium内核 的 DotNET 桌面应用,方便打包网页为桌面应用.zip

    标题中的“基于Chromium内核的DotNET桌面应用”指的是使用.NET框架结合Chromium Embedded Framework (CEF) 创建的桌面应用程序。CEF是一个开源项目,它允许开发者将Chromium浏览器引擎集成到各种应用程序中,包括...

    eclipse icons,用来开发rcp桌面应用程序

    Eclipse RCP是一种基于Java的框架,用于创建桌面应用程序,它充分利用了Eclipse的插件体系结构和开发环境的强大力量。 Eclipse RCP应用程序的开发涉及多个方面,包括视图、编辑器、透视图、操作和命令等,每个组件...

    SVG.rar_svg_svg 源代码_svg c++

    SVG与C++的结合通常涉及到图形库的使用,如Qt库中的QSvgRenderer或Cairo库,这些库允许开发者在C++应用程序中解析和渲染SVG图像。C++与SVG的集成可以为桌面应用、游戏或者嵌入式系统提供美观且灵活的图形界面。 在...

    winfrom 显示指定svg

    在C#中,WinForms应用程序通常用于构建桌面用户界面。如果你想要在WinForm窗体上显示SVG(可缩放矢量图形)文件,这需要利用特定的库或组件,因为.NET Framework本身并不直接支持SVG格式。以下是一个详细的步骤指南...

    C#编写的SVG文件编辑器,包含代码和执行程序

    C#是Microsoft开发的一种面向对象的编程语言,常用于构建Windows桌面应用程序和Web应用程序。在这个项目中,C#被用来开发一个SVG文件编辑器,名为SVGPad。 SVGPad提供了SVG文件的基本编辑功能,用户可以创建新的SVG...

    svg批量转换为png(或jpg、bmp)格式exe程序,C#开发的winform窗体程序,一键转换

    C#是一种流行的编程语言,特别适合开发这种桌面应用程序,因为它提供了丰富的类库和强大的.NET Framework支持。 描述中提到的链接指向了一篇CSDN博客文章,作者分享了更多关于该程序的详细信息和使用效果。通过这篇...

    delphi SVG组件库

    **Delphi** 是一种流行的面向对象的编程语言,由Embarcadero Technologies开发,常用于构建桌面应用程序。它具有强大的集成开发环境(IDE)和丰富的类库,使得开发过程高效且直观。 **Delphi SVG组件库** 是专门为...

    基于SpringBoot、Swing、H2和JPA的桌面应用程序设计源码

    该项目是一款采用SpringBoot、Swing、H2数据库和JPA构建的桌面应用程序设计源码,包含43个文件,涵盖17个Java源文件、13个PNG图像文件、3个表单文件、2个SQL和SVG文件,以及其他相关配置和文档。该应用程序适用于...

    广东省各市区(无街道)地图SVG可接入程序调用

    - **API接口**:开发者可以通过编程语言(如JavaScript、Python等)调用这些SVG地图,将其嵌入到Web应用、移动应用或桌面应用中,实现地图的动态显示和交互功能。 - **地图服务**:可以将SVG地图作为地图服务的一...

    Canvas渲染引擎,支持SVG,兼容了小程序、小游戏和Web.zip

    对于Web,Cax则为开发者提供了一种统一的方式来处理SVG图形,无论用户是在桌面浏览器还是移动设备上。 这个库可能包含了丰富的API和工具,允许开发者轻松地加载SVG文件,进行图形操作,如变换、动画,甚至可能支持...

    使用Qt Web引擎嵌入H5应用框架源码,可以很方便的将web应用作为桌面应用。

    在软件开发领域,Qt是一个强大的跨平台应用程序开发框架,它提供了丰富的库和工具,使得开发者能够构建桌面、移动甚至嵌入式设备的应用程序。而Qt WebEngine是Qt框架的一部分,它允许开发者在Qt应用中嵌入Web内容,...

    Node.js-采用HTML和JavaScript技术编写桌面应用NW.js是一个应用程序运行时基于Chromium和node.js。

    它提供了一个平台,使得开发者可以使用HTML、CSS和JavaScript来创建桌面应用程序,这极大地降低了桌面应用开发的门槛,特别是对于熟悉Web技术的开发者来说。 **核心组件** 1. **Chromium**: NW.js使用了Chromium...

    C#,.net,winform上SVG的源代码和示例

    总的来说,这个资源为C# .NET WinForm开发人员提供了一个方便的工具,使得在桌面应用中集成SVG图形成为可能。通过学习和使用这些源代码,你可以更好地理解和掌握SVG在Windows应用程序中的应用,为你的项目增添更多...

    QT svg解析测试demo

    在计算机图形领域,SVG(Scalable Vector Graphics)是一种基于XML的矢量图像格式,它可以无限放大而不失真,广泛应用于Web、移动应用和桌面应用程序中。QT,作为一款跨平台的C++开发框架,提供了对SVG的支持,允许...

Global site tag (gtag.js) - Google Analytics