Kity

基于 SVG 的矢量图形库
授权协议 BSD
开发语言 JavaScript
所属分类 程序开发、 图形/图像处理
软件类型 开源软件
地区 国产
投 递 者 锺宜
操作系统 跨平台
开源组织 百度
适用人群 未知
 软件概览

Kity 是一个基于 SVG 的矢量图形库,帮助你快速在页面上创建和使用矢量元素。

  • 面向对象的接口风格

    在 Kity 里,所有图形,以及交换的数据,都是以强类型的对象出现的,可以非常方便地使用和拓展它们。

  • 丰富的图形

    Kity 内置了的图形,包括矩形、圆形、椭圆、多边形、自动曲线、直线、正多边形、星形、饼、环、旋转形等等,还有最强大的 Path 工具,可以绘制任意矢量图形

  • 强大的填充能力

    Kity 对颜色加强了支持,不仅能随意使用 RGB 或 HSL 进行颜色的配置,还支持调色板的定义和使用。Kity 同时支持渐变和纹理的使用,可以让矢量元素更加生动丰富。

  • 完善的坐标变换能力

    在 Kity 中,对图形进行平移、旋转、缩放等变换是非常简单的。而且,这些变换的综合结果还可以获取,用于图形学的一些计算。

  • 灵活的动画支持

    Kity 内置了一个灵活的动画引擎,你可以使用该引擎方便灵活地创建和使用动画。动画创建的时间线还可以进一步控制:暂停、停止、循环等。同时提供最底层的动画接口,让你有完全的动画能力。

  • 必不可少的事件处理

    对于需要创建交互的应用来说,事件是必不可少的。Kity 允许你在图形上绑定各种各样的事件,并且可以帮你精确的计算事件发生的坐标(你还可以指定坐标系)。这个是非常重要的,不是吗?

  • 文本支持

    Kity 在文本的支持上下了苦工,你可以方便地定位文本和设置文本的样式。你还可以使用路径文本,让一个文本沿着指定的路径排列。

  • 滤镜支持

    Kity 支持最常用的 SVG 滤镜,而且为您预留了接口,可以快速拓展。

  • 强大的图形学支持

    这个在图形应用当中也是非常重要的。在 Kity 中,你可以轻松获取图形在指定坐标系下的区域,支持区域的合并、变换操作。Kity 同时对贝塞尔曲线和路径提供了很多有用的工具,比如切割、求字段、求补间等。

开始使用

要开始使用 kity,你需要先在页面中引用 kity.min.js

// 引用本地的 kity 库
<script type="text/javascript" src="lib/kity.min.js"></script>

// 使用 git 的 CDN 服务引用
<script type="text/javascript" src="https://cdn.rawgit.com/fex-team/kity/dev/dist/kity.min.js">
</script>

然后,你就可以在任何的元素上创建 kity 的画布:

<div id="kity_paper"></div><script type="text/javascript">
    var paper = new kity.Paper('kity_paper');
    var rect = paper.put(new kity.Rect());
    var text = paper.put(new kity.Text());

    text.setContent('hello kity!');
    text.fill('white');
    text.setX(100);
    text.setY(200);

    rect.setBox(text.getBoundaryBox().expand(-15, -10, 15, 10));
    rect.setRadius(5);
    rect.fill('blue');</script>

Hello Kity

更详细的使用方法请参考 wiki

 

  • 简述 本次的项目是一个公式编辑器.主要使用了Mathjax技术以及kityFomular插件.所谓的kityFomular插件其实本质上是自己封装的用svg绘制可编辑公式的一个第三方库. 调用 创建并发送消息 发送消息 主程序 NBFomulatarEditor kityFomular核心SVG库 本文将阐述SVG常见坑解决方案与一些css样式常见问题的解决方案(也许会更新).本文针对的IE版本为

 相关资料
  • 问题内容: 我们使用iText从Java生成PDF(部分基于此站点的建议)。但是,将徽标的副本以GIF之类的图像格式嵌入会导致人们放大和缩小时看起来有些奇怪。 理想情况下,我们希望以矢量格式嵌入图像,例如EPS,SVG或只是PDF模板。该网站声称EPS支持已被删除,在PDF中嵌入PDF或PS可能会导致错误,甚至没有提到SVG。 我们的代码直接使用Graphics2D API而不是iText,但是我

  • 问题内容: 我有2D封闭矢量路径,以类似SVG路径的语法指定- 即这些路径包括直线和各种Bezier曲线。是否有类似小型,精巧且离散的库(最好使用C,Java或Ruby,但如果此库干净且易于使用,则任何语言都可以使用)允许使用这些路径进行布尔运算(例如,并集,交集和减法)? ? 到目前为止,我发现的内容包括: 可以使用某种API调用或编写脚本来执行布尔2D路径操作的庞大而昂贵的商业矢量图形产品(例

  • 问题内容: 我想将JPanel中的图像导出到矢量图形文件中,以便可以以高于屏幕的分辨率对其进行编辑和打印。本质上,我希望使用目标图形调用它的功能,该目标图形将绘图命令保存到矢量图形文件中。 有什么好的简单方法呢?推荐哪些库?哪种矢量格式最好,为什么? 问题答案: 看看Java EPS Graphics2D包。 许多Java程序都使用Graphics2D在屏幕上绘制内容,虽然很容易将输出另存为png

  • 我的应用程序中的所有图像目前都是jpg或png,这曾经是可以的。GUI是固定大小,适合于显示的任何屏幕,每个人都很高兴。 现在高分辨率和视网膜显示器更常见,正常大小的应用程序在某些屏幕上看起来很小(如果调整大小,则模糊不清),因此我想通过将它们转换为矢量图像(eps或svg)来更新图形以适应任何未来的分辨率进展。 在我这样做之前,JavaFX有办法像使用ImageViews一样使用矢量图像吗?看起

  • 关于矢量图形和栅格图像 矢量图形由名为矢量 的数学对象定义的直线和曲线组成,其根据图像的几何特征对图像进行描述。After Effects 中的矢量图形元素的示例包括蒙版路径、形状图层的形状和文本图层的文本。 栅格图像(有时称为位图图像)使用图片元素(像素)的矩形网格来代表图像。每个像素都分配有特定的位置和颜色值。视频素材、从胶片传递的图像序列,以及导入到 After Effects 中的许多其他

  • 问题内容: 我需要可视化大型矢量图形。这是道路地图,道路只是线。有图书馆吗?如果该库支持放大/缩小并且易于扩展,那就太好了。例如,实施道路选择或一些不错的鼠标悬停效果。该许可证应允许在商业项目中使用。 谢谢菲利普 编辑:是否有理由不使用Graphics2D或SWT Graphics?(该项目在SWT上,不涉及任何SVG。) 问题答案: 看看Apache Batik Batik是基于Java的工具包

  • 利用操控变形功能,您可以扭转和扭曲图稿的某些部分,使变换看起来更自然。您可以使用 Illustrator 中的操控变形工具添加、移动和旋转点,以便将您的图稿平滑地转换到不同的位置以及变换成不同的姿态。 选择要变换的图稿。 从工具栏中选择“操控变形”工具。 默认情况下,Illustrator 可识别用于变换图稿的相应区域,并自动向图稿中添加多个字,以便通过最合适的方式来对图稿进行变形。选择操控变形工

  • 问题内容: 在我的一个项目中,我使用JUNG2可视化显示在applet中的非常大的多父级层次结构图。我需要将图形的全部/部分导出为高分辨率的静止图像,因为屏幕截图在打印时看起来很丑陋(特别是如果图形已经缩小)。 我当前使用的代码如下: 这会创建不是特别高分辨率的PNG图像。所以我的问题如下: 是否可以将PNG导出分辨率提高到300 dpi? 是否可以将图形或与此相关的任何摆动组件导出为基于矢量的格