我在互联网上找到了一个甚至可以与IE6一起使用的矢量库!
http://raphaeljs.com/index.html
太奇妙了.
现在我的问题是它比即将推出的HTML5 <canvas>更好吗?我要问的唯一原因是,微软实现一个不需要插件才能运行的<canvas>可能还需要几年的时间.
在互联网上的所有IE用户摆脱他们的旧浏览器之前,它甚至会更长,这样我们甚至可以证明使用HTML5 <canvas>.
我只是坚持标准,但由于MS的浏览器开发速度缓慢,这个问题需要花费太长时间.
思考?
我正在寻找一种算法,在Bézier曲线上插入一个新的控制点,而不会变形.
有没有人知道Bézier算法的库或参考(插入,优化,de Casteljau ...)?
我正在研究一个简单的绘图应用程序,我需要一个算法来填充洪水.
用户工作流程将如下所示(类似于Flash CS,更简单):
如果在应用填充后移动线条,则相应地更改填充区域.
任何人都有一个好主意,如何实现这样的算法?主要任务基本上是确定一个点周围的线段.(以某种方式存储此信息,移动线条)
编辑:解释图像:(画布中当然可以有其他行,对填充算法无关紧要)

EDIT2:更困难的情况:

EDIT3:我找到了一种用孔填充多边形的方法 http://alienryderflex.com/polygon_fill/,现在的主要问题是,我如何找到我的多边形?
language-agnostic geometry vector-graphics actionscript-3 flood-fill
如何通过逆时针增加给定轴向量的角度对点/向量数组进行排序?
例如:

如果0是轴向量,我希望排序的数组按顺序排列2, 3, 1.
我有理由相信它可以用交叉产品,自定义比较器和std::sort().
换句话说,我正在尝试用JavaFX做一些事情,就像Batik允许你用Swing做的那样.
我希望能够捕获JavaFX UI中任意节点的外观,就像Node.snapshot()一样,除了我需要像SVG这样的矢量格式的图像,而不是光栅图像.(并且将我的节点的光栅快照插入到SVG图像中是不够的;它需要是一个适当的,可缩放的矢量图像.)
这是一个长期项目,所以我甚至愿意实现我自己的GraphicsContext,或者JavaFX的保留模式API中的等价物.
有谁知道有没有办法做到这一点?我希望在JavaFX中甚至可以做什么?
我在画布上有EaselJS Shapes然后我开始绘制每个刻度的图形.目前正在形状上绘制图形.有没有办法定义z-index,以便每个帧都在Graphics上绘制Shapes?
任何帮助将非常感激.
我有这个:
static double[] RotateVector2d(double x, double y, double degrees)
{
double[] result = new double[2];
result[0] = x * Math.Cos(degrees) - y * Math.Sin(degrees);
result[1] = x * Math.Sin(degrees) + y * Math.Cos(degrees);
return result;
}
Run Code Online (Sandbox Code Playgroud)
我打电话的时候
RotateVector2d(1.0, 0, 180.0)
Run Code Online (Sandbox Code Playgroud)
结果是: [-0.59846006905785809, -0.80115263573383044]
该怎么做才能得到结果[-1, 0]呢?
我究竟做错了什么?
我正在使用矢量绘图应用程序(在java中),我正在努力解决我的模型类和视图/控制器类之间的分离.
一些背景:
您可以绘制不同的形状:
矩形,线条和饼图段
有4种工具可以在画布上操纵形状:
缩放工具,移动工具,旋转工具和变形工具
对于这个问题,变形工具是最有趣的一个:它允许您通过拖动其中一个点并调整其他属性来更改形状,如下图所示:

这些转换规则对于每个形状都是不同的,我认为它们是模型业务逻辑的一部分,但在某种程度上它们需要暴露给视图/控制器(工具类),以便它们可以应用正确的形状.
此外,形状通过不同的值在内部表示: - 矩形存储为中心,宽度,高度,旋转 - 该行存储为起点和终点 - 饼图段存储为中心,半径,角度1,角度2
我计划在未来添加更多形状,如星星,气泡或箭头,每个都有自己的控制点.
我还计划在未来添加更多工具,例如旋转或缩放形状组.
每个工具的控制点都不同.例如,使用缩放工具时,您无法抓取中心点,但每个缩放控制点需要与一个轴点(或多个让用户选择)相关联.
对于像矩形,直线和饼图这样的简单形状,控制点对于类的每个实例都是相同的,但是期货形状如贝塞尔曲线路径或星形(具有可配置的尖峰数)将为每个实例提供不同数量的控制点.
那么问题是什么是建模和实施这些控制点的好方法?
由于它们对于每个工具略有不同并且携带一些工具/控制器特定数据,因此它们以某种方式属于工具/控制器.但由于它们也特定于每种类型的形状并且具有非常重要的域逻辑,因此它们也属于该模型.
我想避免在添加一个工具或形状时为每个工具/形状组合添加特殊类型的控制点的组合爆炸.
更新:再举一个例子:将来我可能会想到一个我想要支持的新形状:弧形.它类似于饼段,但看起来有点不同,拖动控制点时表现完全不同.
为了实现这一点,我希望能够创建一个实现我的Shape接口的ArcShape类并完成.

java oop model-view-controller user-interface vector-graphics
对于我的iOS Swift项目,我使用矢量化的pdf文件,XCode从这些文件呈现@ 1x,@ 2x,@ 3x图像.
当我将PDF生成的图像质量与相同大小的普通PNG图像进行比较时,我发现它们之间的质量差异很大.从理论上讲,下图中第一行和第三行的质量应该相同,因为我的iPhone 6上的54x40 PDF应该使用普通的视网膜显示器渲染和使用108x80图像.不幸的是质量远非平等.
任何人都可以向我解释这些差异来自哪里,也许我可以如何提高生成图像的质量?
提前致谢.