jjzjj

javascript - 如何将 <image> 元素添加到 SVG DOM

我有一个带有jpg图像的网页,用户在使用Raphael的基础上绘制了SVG涂鸦。我想允许用户在完成后保存合并的光栅化版本(我将自己用SVG版本做其他事情)当用户单击保存时,我想将该背景图像作为元素添加到生成的SVGDOM中,然后使用canvg将SVG写入Canvas元素。最后,我使用toDataUrl()方法将其转换为jpg。我无法让中间位工作—将图像添加到DOM的最佳方式是什么?当我使用下面的代码时,我收到一个javascript错误,提示appendChild()不是一个函数。我想知道这是否与我使用.html()方法获取SVG的方式有关——也许返回的内容没有被解释为真正的SVG文档

javascript - 使用 Raphaël JS 和 SVG 调整扇区路径大小的更优雅的方法?

我正在使用Raphaël第一次没有svg经验,我需要真正了解这两者的人来帮助我。我创建了一个包含动态扇区的饼图。可以通过拖动圆形按钮来调整扇区的大小。参见thisfiddle.我只在Chrome和Safari中测试过,它们是唯一需要的浏览器。饼图尚未完成。扇区可以重叠。请暂时忽略它。当一个扇区的起始Angular大于结束Angular时,我遇到了问题。当结束Angular超过0/360°标记时就是这种情况。为了解决这个问题,我使用了路径-旋转-参数。我将扇区向前移动,同时将Angular向后移动,直到结束Angular为360。您可以在此函数的fiddle中看到:functionsec

javascript - 如何使用 Raphael 创建渐变对象

我正在尝试使用RaphaelJS图形库。我想使用应该接受一个对象的属性渐变。文档说要引用SVG规范。我在SVG中找到了渐变对象,例如但是我怎样才能在我的javascript中引用它呢?circle.attr("gradient","myFillGrad");不起作用:)提前致谢 最佳答案 更新:为最新的RaphaelAPI重写:LinearGradientvarpaper=Raphael(10,10,800,600);varcircle=paper.circle(150,150,150);circle.attr({"fill":"9

javascript - jQuery 偏移顶部不能正常工作

我正在尝试创建一个脚本,通过鼠标在元素中绘制一些东西,我正在使用Raphaeljs这样做。为了正确绘图,我需要找到top和left的‍input‍‍元素。我正在使用varoffset=$("#input").offset();得到left和top.但是top值不正确。这是10px低于‍‍真实top距离。我认为10px也许改变不同的分辨率然后我不能添加10px正常然后我想知道如何解决这个问题!我上传了我的测试here. 最佳答案 jQuery.offset()函数有thislimitation:Note:jQuerydoesnotsu

javascript - 如何在 raphaeljs 中使用 attr 的 stroke-dasharray,stroke-linecap,stroke-linejoin

谁能给我一个这些属性的例子:stroke-dasharray、stroke-linecap、stroke-linejoin我试过使用它们,但我不太理解它们值的sentext结构。 最佳答案 Phrogz的回答非常适合纯SVG,但这个问题也被标记为Raphael,两者相似但略有不同。拉斐尔笔画设置的好例子不多,所以这里有一个完整的现场演示。它有示例记录如何使用stroke-dasharray(点线和虚线)、stroke-linejoin(笔划Angular样式)和stroke-linecap(路径笔划帽样式)在Raphael.js中。

javascript - 将 Raphael SVG 转换为图像(png 等)客户端

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:ConvertSVGtoimage(JPEG,PNG,etc.)inthebrowser我有一个小项目,用户使用Raphael构建图表,然后将组成的图表导出为图像进行保存。问题是它必须离线运行。http://www.nihilogic.dk/labs/canvas2image/将无法工作,因为它需要Canvas,而不是Raphael生成的SVG。有没有一种方法(javascript)可以从SVG导出图像?

javascript - 如何向 Raphael.js 对象添加阴影?

我想了解如何向Raphael.js对象/路径添加模糊边缘投影。据我所知,图书馆不可能按原样使用,但有解决办法吗? 最佳答案 您可以使用Element.glow([glow])来获得阴影效果。http://raphaeljs.com/reference.html#Element.glow 关于javascript-如何向Raphael.js对象添加阴影?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/

javascript - 将圆 Angular 应用于路径/多边形

我正在为一个必须在几周内开始的项目收集一些信息。该项目包含一个基于浏览器的绘图工具,用户可以在其中添加预定义的形状或自己形成形状。形状必须是可选择的、可自由缩放的并且可以使用类似Illustrator的转换工具(handle)旋转。我们想到的预定义形状是:矩形、椭圆形、半椭圆形和(等腰)三Angular形。到目前为止一切顺利,要实现这一点,我正在考虑RaphaelJS或FabricJS,但是......每个形状(多边形/路径)都必须用特定的Angular半径绘制。并且缩放时必须保持圆Angular半径,因此不会发生失真。用户可以通过输入指定舍入。有一些障碍/问题:是否有一些统一的数学公

drag-and-drop - 在 Raphael js 中使路径和图像可拖动

是否可以使用Raphaeljs在页面周围拖放除圆形和矩形以外的对象?我想添加路径和图像,然后您可以四处移动,但事实证明这很棘手。我想用Raphael解决这个问题,因为它支持触摸界面。这是代码window.onload=function(){varR=Raphael(0,0,"100%","100%"),r=R.circle(100,100,50).attr({fill:"hsb(0,1,1)",stroke:"none",opacity:.5}),g=R.circle(210,100,50).attr({fill:"hsb(.3,1,1)",stroke:"none",opacity:

php - 将用户制作的 SVG (raphael.js) 发送到服务器 (php),以便通过电子邮件发送

我有一个页面,用户可以在其中创建自己的SVG图像。现在我想在服务器(php)上访问这些图像,以便将它们发送到电子邮件地址。有了这些instructions我能够将SVG转换为Canvas,然后将Canvas转换为jpeg/png。我不再担心SVG树,因为它不再需要编辑,因此将其转换为普通图像(我假设这会更容易处理,最终我想将该图像作为附件发送到电子邮件)。最有效的方法是什么?是否可以将转换后的jpeg/png发布到服务器?谢谢大家,有点迷路了。 最佳答案 经过大量阅读后,我设法找到了一个相当简单的解决方案,以防有人遇到类似问题:使用