草庐IT

c# - 将javascript渲染的svg图像作为.png文件保存到本地磁盘

我是SVG的新手,不是JavaScript的高级用户。我有一个网页,其中包含由javascript动态呈现的svg内容。在InternetExplorer中,当我右键单击svg内容时,我会看到“图片另存为”选项,我可以将内容另存为png或svg。我如何通过一个按钮以编程方式执行此操作,并允许用户将png格式的内容保存到他们的机器上。 最佳答案 根据我的研究,如果不将svg内容发送到您的服务器并让它返回数据以保存为文件下载,则无法执行此操作。然而,即使是这样也很难通过单个AJAX样式的请求来实现,而且解决方案非常复杂。其他人已经链接到

javascript - 具有 Unicode 字符的 SVG 文本元素

首先-问题的简短描述。我编写了一个JavaScript函数来将一些文本标签放入SVGCanvas中。在这里:functionset_label(x,y,title){varnewTitle=document.createElementNS(svgNS,"text");newTitle.setAttributeNS(null,"x",x);newTitle.setAttributeNS(null,"y",y);newTitle.setAttributeNS(null,"font-size","17px");newTitle.setAttributeNS(null,"font-family

javascript - 检测 SVGAnimatedString 的类名

我在构建SVGmap时遇到问题,由g上的onmouseover不工作。我当时用过window.onmouseover=function(e){console.log(e.target.className);};查看类名是否有问题,然后发现系统正在检测而不是我使用的类名SVGAnimatedString{animVal:"",baseVal:""}在我使用类似代码数百次之前从未发生过的事情。知道如何在鼠标悬停时获取g元素的实际类名吗?谢谢 最佳答案 最简单的方法:e.target.className.baseVal另一种方式:e.ta

javascript - 未捕获的 TypeError : xScale. rangeBand 不是 d3.js 中的函数

尝试按照Vegibit'stutorial生成条形图在myfiddle.d3.min.js引用作品不错。然而,当我尝试执行downloadedlocalcopy时通过使用:路径是autogenerated通过VisualStudio的ASP.NET项目工具d3BarChart({element:'#bar-chart',dataSource:[10,20,220,240,270,300,330,370,410,30,40,50,60,70,80,90,100,110,120,135,150,165,180,200],});functiond3BarChart(chartConfig){

javascript - Snap.svg - 拖动事件处理程序

问题是关于Element.drag的onstart事件处理程序的在新公布的Snap.svg.以下代码的目的是为svg对象上的拖动开始和停止(onstart/onstop)注册事件处理程序。vars=Snap(800,600);varbigCircle=s.circle(300,150,100);bigCircle.drag(null,function(){console.log("Movestarted");},function(){console.log("Movestopped");});控制台消息在拖动开始和停止时工作正常,但null会覆盖默认的onmove函数-导致没有实际拖动

javascript - 使 Highcharts.js 图表在移动和桌面上看起来不错

我想知道是否有人使用Highcharts成功实现了响应式设计,使他们的图表在移动设备和桌面设备上看起来都不错。默认情况下,当您调整浏览器屏幕大小时,Highcharts会重新缩放,只是X轴被刻度线文本弄得乱七八糟,条形图看起来又高又瘦(太压缩)。要了解我的意思,您可以转到thispage。并调整浏览器大小。我认为这些问题可以通过将数据点的数量减少到原始数量的1/3来解决,尽管我想知道如何使用Highcharts的API以编程方式实现这一点。如果这听起来不是一个好主意,我也对人们可能想出的在移动设备上使用Highcharts的其他想法或解决方案感兴趣(或者甚至可能是不同的JS图表库,其中

javascript - d3力导向树上的曲线

d3的新手,正在尝试开发一个力导向树,我们可以将varios数据集插入其中。我已经设法启动并运行了基本想法,但想使链接弯曲,以便我可以处理多个链接。我看过http://bl.ocks.org/1153292我就是不明白。我得到的最近的结果是它在没有可见路径的情况下工作。这是我的直线代码,如果您有时间,我将不胜感激感谢://SetsupthesvgthatholdsthedatastructureandputsitinthedivcalledmapBoxvarsvg=d3.select("div#mapBox.theMap").append("svg").attr("width",map

javascript - Firefox 使用 drawImage 将 SVG 图像渲染到 HTML5 Canvas 时出错

我正在尝试使用Canvas将外部svg图标转换为base64png。它适用于除Firefox之外的所有浏览器,Firefox会抛出错误“NS_ERROR_NOT_AVAILABLE”。varimg=newImage();img.src="icon.svg";img.onload=function(){varcanvas=document.createElement("canvas");canvas.width=this.width;canvas.height=this.height;varctx=canvas.getContext("2d");ctx.drawImage(this,0,

javascript - 如何平滑徒手绘制的 SVG 路径?

我正在寻找一种解决方案,将由大量aufLineTo段组成的徒手绘制的用户绘制的SVG路径转换为更平滑的路径。首选语言是JavaScript,但欢迎提出任何建议。 最佳答案 首先,我会推荐使用一个好的图形库,比如raphael。它将简化实际使用javascript执行绘图的过程。一个很简单的平滑方法就是将所有的lineto命令转换成等价的curveto命令,然后根据每条线段的Angular计算出一些控制点。例如,成为这两个都要画一个等边三Angular形下一步是计算控制点的位置。通常,您会希望平滑Angular两侧的控制点落在一条穿过

javascript - 使文本适合 SVG 元素(使用 D3/JS)

我想在我创建的矩形内写入文本,如下所示:body=d3.select('body')svg=body.append('svg').attr('height',600).attr('width',200)rect=svg.append('rect').transition().duration(500).attr('width',150).attr('height',100).attr('x',40).attr('y',100).style('fill','white').attr('stroke','black')text=svg.append('text').text('Thisis