SwiftGraphics

Swift 矢量图形框架
授权协议 BSD
开发语言 Swift
所属分类 程序开发、 图形/图像处理
软件类型 开源软件
地区 不详
投 递 者 姚宪
操作系统 OS X
开源组织
适用人群 未知
 软件概览

Swift矢量图形框架,iOS和OSX上基于Quartz的图形计算和显示封装框架。

  • CGPoint,CGSize,CGRect,CGAffineTransform 的实用操作封装

  • CGContext 和 CGPath 的面向对象扩展

  • 贝塞尔曲线及路径的包络框、弧长等计算

  • 基本几何对象:三角形、椭圆、曲线等

  • 凸包生成、元球(游行广场算法)

  • 四叉树数据结构

你可以基于SwiftGraphics开发矢量图形软件,例如室内地图、GIS/CAD、教学游戏。

本人是此项目的代码贡献者,应用效果较好,推荐大家使用。

凸包计算游行广场

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

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

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

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

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

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

  • 在上一章中,我们学习了如何在Leaflet中使用标记。 除了标记,我们还可以添加各种形状,如圆形,多边形,矩形,折线等。在本章中,我们将讨论如何使用Google地图提供的形状。 Polyline 要使用Leaflet JavaScript库在地图上绘制折线叠加层,请按照以下步骤操作 - Step 1 - 通过传递“ div ”元素(字符串或对象)和映射选项(可选)来创建Map对象。 Step 2

  • 问题内容: 在尝试使用SVG的Java8 AppEngine标准环境中,出现下一个错误。当我尝试在POSL之类的XSLFSlide上绘制SVG 或使用Batik将SVG转换为PNG时,出现此错误。由于fontconfig找不到字体,因此似乎出现了问题。在debian发行版中,它通过安装解决。如何在AppEngine上解决? 问题答案: 我遇到了同样的问题,并通过设置system属性,明确告诉App