这是第一个实例,其中讲了如何新建svg,添加元素,保存svg document,查看svg.
下面将附上常用一些元素的添加方法:(为js的,但基本上跟java中操作一样,就是类名有点细微差别)
Circle
var svgns = "http://www.w3.org/2000/svg";
function makeShape(evt) {
if ( window.svgDocument == null )
svgDocument = evt.target.ownerDocument;
var shape = svgDocument.createElementNS(svgns, "circle");
shape.setAttributeNS(null, "cx", 25);
shape.setAttributeNS(null, "cy", 25);
shape.setAttributeNS(null, "r", 20);
shape.setAttributeNS(null, "fill", "green");
svgDocument.documentElement.appendChild(shape);
}
Ellipse
var svgns = "http://www.w3.org/2000/svg";
function makeShape(evt) {
if ( window.svgDocument == null )
svgDocument = evt.target.ownerDocument;
var shape = svgDocument.createElementNS(svgns, "ellipse");
shape.setAttributeNS(null, "cx", 25);
shape.setAttributeNS(null, "cy", 25);
shape.setAttributeNS(null, "rx", 20);
shape.setAttributeNS(null, "ry", 10);
shape.setAttributeNS(null, "fill", "green");
svgDocument.documentElement.appendChild(shape);
}
Line
var svgns = "http://www.w3.org/2000/svg";
function makeShape(evt) {
if ( window.svgDocument == null )
svgDocument = evt.target.ownerDocument;
var shape = svgDocument.createElementNS(svgns, "line");
shape.setAttributeNS(null, "x1", 5);
shape.setAttributeNS(null, "y1", 5);
shape.setAttributeNS(null, "x2", 45);
shape.setAttributeNS(null, "y2", 45);
shape.setAttributeNS(null, "stroke", "green");
svgDocument.documentElement.appendChild(shape);
}
Path
var svgns = "http://www.w3.org/2000/svg";
function makeShape(evt) {
if ( window.svgDocument == null )
svgDocument = evt.target.ownerDocument;
var shape = svgDocument.createElementNS(svgns, "path");
shape.setAttributeNS(null, "d", "M5,5 C5,45 45,45 45,5");
shape.setAttributeNS(null, "fill", "none");
shape.setAttributeNS(null, "stroke", "green");
svgDocument.documentElement.appendChild(shape);
}
Polygon
var svgns = "http://www.w3.org/2000/svg";
function makeShape(evt) {
if ( window.svgDocument == null )
svgDocument = evt.target.ownerDocument;
shape = svgDocument.createElementNS(svgns, "polygon");
shape.setAttributeNS(null, "points", "5,5 45,45 5,45 45,5");
shape.setAttributeNS(null, "fill", "none");
shape.setAttributeNS(null, "stroke", "green");
svgDocument.documentElement.appendChild(shape);
}
Polyline
var svgns = "http://www.w3.org/2000/svg";
function makeShape(evt) {
if ( window.svgDocument == null )
svgDocument = evt.target.ownerDocument;
shape = svgDocument.createElementNS(svgns, "polyline");
shape.setAttributeNS(null, "points", "5,5 45,45 5,45 45,5");
shape.setAttributeNS(null, "fill", "none");
shape.setAttributeNS(null, "stroke", "green");
svgDocument.documentElement.appendChild(shape);
}
Rectangle
var svgns = "http://www.w3.org/2000/svg";
function makeShape(evt) {
if ( window.svgDocument == null )
svgDocument = evt.target.ownerDocument;
var shape = svgDocument.createElementNS(svgns, "rect");
shape.setAttributeNS(null, "x", 5);
shape.setAttributeNS(null, "y", 5);
shape.setAttributeNS(null, "width", 40);
shape.setAttributeNS(null, "height", 40);
shape.setAttributeNS(null, "fill", "green");
svgDocument.documentElement.appendChild(shape);
}
Rounded Rectangle
var svgns = "http://www.w3.org/2000/svg";
function makeShape(evt) {
if ( window.svgDocument == null )
svgDocument = evt.target.ownerDocument;
var shape = svgDocument.createElementNS(svgns, "rect");
shape.setAttributeNS(null, "x", 5);
shape.setAttributeNS(null, "y", 5);
shape.setAttributeNS(null, "rx", 5);
shape.setAttributeNS(null, "ry", 5);
shape.setAttributeNS(null, "width", 40);
shape.setAttributeNS(null, "height", 40);
shape.setAttributeNS(null, "fill", "green");
svgDocument.documentElement.appendChild(shape);
}
Use
var svgns = "http://www.w3.org/2000/svg";
var xlinkns = "http://www.w3.org/1999/xlink";
function makeShape(evt) {
if ( window.svgDocument == null )
svgDocument = evt.target.ownerDocument;
var svgRoot = svgDocument.documentElement;
var defs = svgDocument.createElementNS(svgns, "defs");
var rect = svgDocument.createElementNS(svgns, "rect");
rect.setAttributeNS(null, "id", "rect");
rect.setAttributeNS(null, "width", 15);
rect.setAttributeNS(null, "height", 15);
rect.setAttributeNS(null, "style", "fill: green");
defs.appendChild(rect);
var use1 = svgDocument.createElementNS(svgns, "use");
use1.setAttributeNS(null, "x", 5);
use1.setAttributeNS(null, "y", 5);
use1.setAttributeNS(xlinkns, "xlink:href", "#rect");
use2 = svgDocument.createElementNS(svgns, "use");
use2.setAttributeNS(null, "x", 30);
use2.setAttributeNS(null, "y", 30);
use2.setAttributeNS(xlinkns, "xlink:href", "#rect");
svgRoot.appendChild(defs);
svgRoot.appendChild(use1);
svgRoot.appendChild(use2);
}
分享到:
相关推荐
npm install svg.js svgdom // returns a window with a document and an svg root node const { createSVGWindow } = require ( 'svgdom' ) const window = createSVGWindow ( ) const SVG = r
压缩包中的`tbusi.js`、`tmap.js`、`tevent.js`、`tdom.js`、`trule.js`、`tutil.js`、`tconstant.js`、`tsvg.js`可能包含了一些自定义的SVG操作函数,比如辅助计算、事件处理封装、常量定义等,这些可以帮助简化和...
SVG.js是一个轻量级、模块化的JavaScript库,它为开发者提供了便利的方式来操作和绘制SVG图形。这个名为"svg.js.zip_8svg.con_flex_javascript SVG_svg_svg.js"的压缩包,结合描述中的"Trabajar con svg en Flex",...
JavaScript作为浏览器端的主要编程语言,提供了丰富的API和库来操作SVG和实现导出功能。下面我们将深入探讨如何使用JavaScript实现SVG导出为图片。 首先,我们需要了解SVG的基本结构和属性。SVG是基于XML的,这意味...
我们使用了 JavaScript 语言的 DOM 模型来访问和操作 HTML 文件和 SVG 文件的元素。我们还使用了 JavaScript 语言的事件模型来处理用户的交互事件,例如单击事件。 最后,让我们来总结一下 SVG 和 HTML 之间的交互...
在网页开发中,JavaScript(简称JS)是一种广泛使用的脚本语言,它允许我们在客户端动态地操作网页内容。SVG(Scalable Vector Graphics)则是一种基于XML的矢量图像格式,可提供高质量、可缩放的图形。将JS与SVG...
gulp-svg2el Gulp 插件将传递的 HTML 转换为 Javascript $ npm install gulp-...该插件会转义源 HTML 中的所有相关字符,将制表符/空格折叠为单个空格并修剪结果以输出有效的 SVG DOM 元素。 ,由编写,用于项目 。
SVG元素是文档对象模型(DOM)的一部分,可以通过JavaScript直接访问和操作。每个SVG元素都有对应的DOM接口,例如`SVGSVGElement`接口代表SVG根元素。SVG文档中可以包含HTML和JavaScript代码,如`<script>`标签,...
- SVG DOM是SVG图形的结构化表示,允许通过JavaScript进行操作。例如,通过`evt.target`和`evt.target.getOwnerDocument()`等属性和方法可以获取事件源和SVG文档对象。 - `evt`属性:在事件处理函数中,`evt`对象...
DOM到SVG 用于将给定HTML DOM节点转换为可访问的SVG“屏幕截图”的库。 演示版 :camera_with_flash: 试用,该使用此库可让您获取任何网页的SVG屏幕截图。 您可以在找到源代码。 用法 import { documentToSVG , ...
SVG.js是一个轻量级的JavaScript库,专为操作SVG图形而设计。它可以轻松地创建、修改、动画化SVG元素,非常适合用于构建动态用户界面和数据可视化应用。 jQuery则是一个广泛使用的JavaScript库,它简化了DOM操作、...
第二部分是使用JavaScript操作SVG DOM对象来构建WebGIS系统,包括使用JavaScript操作SVG DOM对象、实现基本GIS功能等。 该方案旨在解决传统WebGIS实现方案中存在的性能问题,提供了一种轻量级的WebGIS解决方案。该...
SVG浏览器对ECMAScript的支持程度各不相同,一些特定的浏览器可能提供了额外的API或扩展,以便更好地进行SVG操作。例如,Firefox和Chrome提供了`SVGSVGElement`接口,可以用来获取SVG根元素并进行操作。同时,对于...
总的来说,使用HTML5的canvas和SVG结合JavaScript库,可以从DOM节点生成可打印的分页PDF,这一过程涉及DOM操作、图形转换、布局计算和PDF生成等多个环节。通过熟练掌握这些技术,开发者可以为用户提供更加灵活和强大...
同时,它尽可能减少了对SVG DOM的直接操作,提高了性能。 9. **插件系统**:Snap.svg有丰富的插件生态系统,可以扩展其功能,例如添加物理模拟、图表绘制等高级特性。 10. **学习资源**:除了这个中文参考手册,...
3. **JavaScript API**: DOM API允许JavaScript直接操作SVG元素。可以使用`document.getElementById`或`document.querySelector`来获取SVG元素,然后修改其属性。例如,`element.setAttribute('width', 'newWidth')`...
4. **动态修改SVG内容**:在获取SVG DOM之后,我们可以使用JavaScript操作DOM的API来修改SVG内容,如更改样式、属性等。 ### 为SVG添加点击事件 为SVG图形添加点击事件是为了实现与用户的交互。在Vue中实现这一点...
SVG雷达图效果是一种在网页上展示数据的有效方式,它利用了Scalable Vector Graphics(SVG)和JavaScript(JS)技术来创建交互式、可定制化的图表。SVG是一种基于XML的矢量图形格式,允许在Web浏览器中直接绘制图形...