问题标签 [vml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 获取一组 Raphael 对象的 BBox?
获得几个 Raphael 对象作为一个整体的边界框的最佳方法是什么?
我可以把它们都放在一个set
并打电话mySet.getBBox()
吗?
还是我需要遍历它们,获取bbox
每一个并计算整体高度和宽度?
(另外,我不能直接使用 SVG - 我需要 VML 支持。)
html - 垂直重复 VML 形状
我已经设法使用 VML 为 td 显示背景图像,但我希望它垂直重复。我找到的任何示例都仅适用于一张图片。谁能想到我可以做到这一点?我把我的示例页面放在下面的小提琴中。
html - 复杂页面的 SVG 内存占用
我有一个需要大量小条形图(迷你图大小)的设计。一个典型的页面很容易有 60 多个图表,每个图表显示 100 多个数据点。诸如此类的浏览器内存占用会令人望而却步吗?我也可以使用输出 png 的服务器端渲染器,但似乎可以使用 SVG 完成更多工作。
其他注意事项: SVG 可能会被 Rapheal.js 转换为 IE 的 VML。所以那里的内存占用也需要合理。
感谢您提供任何帮助或找到好的答案的方法。
javascript - 应用 KB2482017 后的 VML 问题
到目前为止,我在使用flot呈现的页面上有一个运行良好的交互式图表。在推送了一些补丁后,它在 IE7 中停止了渲染。经过反复试验,我发现无论是 flot 还是任何其他 js 绘图库(使用 excanvas 或 IE 回退的某些衍生工具)都不会在 Windows XP 的 IE7 或 IE8 上使用 KB2482017 渲染。Windows 7,带有补丁的IE8不受影响。我还没有测试过Vista。
经过一番挖掘,似乎甚至基本的 VML 在 XP 上都被补丁破坏了。Microsoft 自己的 VML 示例无法呈现。
有没有其他人看到过这种行为,如果有,知道解决方法吗?
这是我在一台装有 XP、IE7 和应用了补丁的机器上的信誉图的屏幕截图。
php - 将 VML 转换为 PDF
有没有办法使用 PHP 或 JavaScript 将 VML(IE 浏览器上的 SVG)格式转换为 PDF 格式。
javascript - 拉斐尔累积与绝对缩放/旋转/平移?
我正在尝试用 Javascript 绘制交互式地图,使用 Raphael 来完成繁重的工作。
地图背景是一个相当复杂的东西,包含网格、地图元素、标签等。在此之上,我将绘制用户实际使用的东西。因为背景很复杂,我不想每帧都重新渲染。因此,在绘制之后,我想重用这些绘图元素,只需在用户平移、缩放等时更改背景的平移、旋转、缩放等。
不幸的是,我对 Raphael 的转换原语感到相当困惑:它们的行为不像我预期的那样。如果我调用scale()
,缩放似乎适用于绘图元素的原始大小;但是translate()
是累积的,所以它适用于之前的翻译。rotate()
可以是任何一个,因为它有一个我可以设置的选项......
可以做绝对翻译吗?也就是说,能够指定我的对象(通常是路径)的新中心的绝对坐标?如果做不到这一点,是否会跟踪旧位置,以便在我想将其移动到新位置时应用增量,这是一种合理的做法吗?
或者我会更好地每帧重新渲染整个东西吗?(我看到 Raphael 不擅长转换复杂绘图的建议,因为其中大部分是在 Javascript 中完成的;查看正在生成的 SVG,我发现转换似乎正在返回到路径数据中,这将承担这一点...)
(顺便说一句,FWIW 我正在使用 GWT Raphael 界面来完成这一切。)
html - 在 svg/vml 或画布形状周围放置阴影
在使用 svg(兼容 IE7/8 的 vml)创建的形状下或使用 html5 的画布创建的形状下创建投影是否容易?我正在寻找一个带有阴影的箭头。
svg - 如何为 Chrome / Firefox vs IE 7 和 8 制作 RaphaelJS 垂直对齐文本?
我认为 RaphaelJS 在 Chrome / Firefox 和 IE 7 和 8 中应该是一样的?
示例位于
文本在 Chrome 和 Firefox 上垂直居中,但在 IE 7 和 8 上,文本的基线是居中的(所以它比 FF 高几个像素)......有没有办法让它们的行为都一样?
(最好不要使用浏览器检测并将 IE 7 和 8 的文本调整为低几个像素,因为这不是一个干净的解决方案)
(在 IE 9 上,由于某种原因,图像根本没有显示,即使使用开发人员工具将 Compat 模式更改为 IE 7 或 8 ......但如果我在 IE 9 上使用链接raphael.js
相同的单独页面进行操作的网站index.html
,然后我得到了最糟糕的情况:有时我得到一种行为,有时我得到另一种行为,随机......它几乎看起来像是一个竞争条件)
(对于 IE 9,可以使用此页面:
http://try-raphael-text.heroku.com
http://try-raphael-text.heroku.com/raphael20.html
第二个链接是在 GitHub 的 Raphael 2.0 分支上使用 Raphael 2.0
2.0 版本实际上可以在 IE 7 上进行垂直对齐,但是在 IE 8 上,没有显示任何文本...使用这个简单的案例在 IE 9 上运行良好...但是在我们的真实页面上,它能够使 IE 9 崩溃有时)
svg - 似乎 SVG 可以轻松绘制弧线——VML 可以在 IE 7 及更高版本上完成吗?
以下可以使用 SVG 轻松绘制两条弧线,并且适用于 Firefox 或 Chrome:
示例页面:http: //jsfiddle.net/j8aN9/
VML 也可以轻松做到这一点,以便它甚至可以在 IE 7 及更高版本上运行吗?(你能举一个像上面这样画弧线的例子吗?)
svg - 使用 SVG 的圆弧路径绘制圆
简短的问题:使用 SVG 路径,我们可以绘制 99.99% 的圆并显示,但是当它是圆的 99.99999999% 时,则不会显示圆。如何修复?
下面的SVG路径可以画出99.99%的圆:(在http://jsfiddle.net/DFhUF/1381/上试试看是看到4个圆弧还是只看到2个圆弧,但是注意如果是IE的话是用 VML 渲染,而不是 SVG,但有类似的问题)
但是当它是一个圆的 99.99999999% 时,什么都不会显示?
这与 100% 的圆相同(它仍然是一个圆弧,不是吗,只是一个非常完整的圆弧)
这怎么能解决?原因是我使用一个函数来绘制弧的百分比,如果我需要“特殊情况”一个 99.9999% 或 100% 的弧来使用圆函数,那就有点傻了。
同样,在 jsfiddle 上使用 RaphaelJS 的测试用例位于http://jsfiddle.net/DFhUF/1381/
(如果它是 IE 8 上的 VML,则即使第二个圆圈也不会显示......你必须将其更改为0.01)
更新:
这是因为我正在为我们的系统中的分数绘制弧线,所以 3.3 分得到 1/3 的圆。0.5 得到半个圆,9.9 分得到 99% 的圆。但是,如果我们的系统中有 9.99 的分数怎么办?我是否必须检查它是否接近圆的 99.999%,并相应地使用arc
函数或circle
函数?那么9.9987的分数呢?使用哪一个?需要知道什么样的分数会映射到“太完整的圆”并切换到圆函数,而当它是圆的“某个 99.9%”或 9.9987 分数时,再使用弧函数,这很可笑.