问题标签 [vector-graphics]
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.
svg - 文本和组节点的 dojox.gfx 边界框
dojo 中 getBoundingBox() 的文档说:
返回形状的边界框。文本形状是基于点的对象,因此它不定义边界框。
我不明白。任何用于 Web 的矢量图形的合理实现都包括文本对象的边界框(raphaelJS 和 jQuery SVG)!在这里,“基于点的对象”是什么意思?
我没有找到 Group 对象的边界框的参考,但是在使用最新的 Dojo 版本时,也会getBoundingbox
返回null
Groups
我可以自己轻松地为矩形制作边界框,但我需要边界框的唯一真正有问题的形状是组和文本。
我像这样结束了热补丁道场:
当然,这仅适用于 SVG 输出前端。
但我想知道,我错过了什么吗?有没有更好的方法来做到这一点?
iphone - iPhone开发的矢量绘图工具
这不是一个严格的编程问题,但我在这里问它是因为它肯定是一个软件开发问题,如果您将“软件开发”包括创建软件系统的所有方面。
我是一名独立的 iPhone 开发人员。除了翻译,我自己处理我的应用程序的所有方面——包括图形。我必须定期创建各种图标、按钮和 UI 元素。我在这些方面学到了一些技巧,虽然它们肯定不是艺术品,但我可以有效地使用渐变、阴影、边框笔触、透明度和纹理来创造简约、有吸引力的效果。
到目前为止,我在所有开发过程中都使用了一个名为 VectorDesigner 的矢量绘图工具,并偶尔使用 Pixelmator 进行光栅后处理。到目前为止,它的工作基本上还可以,但是 VectorDesigner 有很多问题:
- 它对其文件使用包格式,这会干扰 Subversion 的使用。
- 它在很大程度上是一种打印工具,我必须非常小心,不要以导致抗锯齿的分数像素值结束对象。
- 虽然您可以采用形状的并集或交集,或者添加和减去它们,但曲线往往会随着重复的布尔运算而变形,有时会非常显着。
- 而且它对笔画的控制很少,以至于我几乎不使用它们。
所以我正在为这个特定目的寻找一个更好的工具:由没有图形设计培训的人在 Mac 上基于形状绘制简单的图标、按钮和 UI 元素。良好的导出功能将是一个加分项——理想情况下,将 PNG 导出到我的项目中的位置几乎与保存(而不是另存为)文件一样容易。
对我来说完美的工具是允许您通过堆叠由原始形状定义的区域和蒙版(仍可单独编辑)来定义对象的形状,然后定义这些对象的属性,如变换和笔触。不过,我不知道这样的事情是否存在。
Adobe 的工具通常让我觉得非常重量级,而且通常很昂贵,但我认为它们是可能的。(烟花,它的重点是屏幕设计,似乎它可能特别合适,但我对此了解不多。)但是还有什么?如果你处于我这样的位置,你用什么?你有什么建议吗?
编辑添加:当然,平面设计师可以从 MacPaint 的古老副本中获得比 Illustrator CS5 更好的结果。没有任何工具可以取代技能和品味,许多程序员两者都没有。我对此很清楚。但我很幸运至少有一些品味——足以让我的用户在他们的评论中称赞我的应用程序的外观。我不是很有天赋,但我知道自己的局限性,我不会让自己做出任何丑陋的东西。鉴于我的预算,现在必须这样做。
fonts - 字体的外观是如何定义的?(每个字符的矢量图形?)
字体详细信息:当您有一些特定字体的文本时,会有一个标题说明字体是什么,然后是每个 X 个字节的字符。计算机查找该字符在字体中的外观并显示它。使用适用于所有字体的集合算法添加下划线、粗体和斜体。
问题:当您放大字体时,它不会失去任何质量,那么每个字母是否都由某种矢量图形表示?
c# - C# WinForms 中的矢量图形 - 我应该与 WPF 互操作吗?
我有一个正在与 C# 应用程序交互的摄像机。相机实际上带有一个 .NET WinForms 控件。它支持使用 GDI+ 功能在其上绘图。
当我放大时,我需要<1 像素精度,即我想绘制一个半径小于两个像素的圆。如何在 WinForms 中绘制矢量图形?我最好的选择是覆盖 WPF 画布吗?我知道我可以在 WinForm 应用程序中使用 WPF 控件,但是是否可以使 ElementHost/WPF 画布的背景透明并将其覆盖到我的视频源上?我最好创建一个 WPF 应用程序,并且只在 WindowsFormsHost 提供程序上使用这个视频控件吗?
在 C# 应用程序中绘制矢量图形的任何其他解决方案?
提前致谢。
vector - 矢量与矢量图形
编程语言中使用的向量(例如数组)和矢量图形之间的关系(如果有的话)是什么?
为什么他们共享术语向量?它是否代表了它们性质的某些类似方面,还是巧合?
考虑到它,位图图像更适合术语矢量图形,因为它由像素数组表示。
python - 是否有任何脚本 SVG 编辑器?
我想使用一些脚本语言(最好是 Python)来编辑 SVG 文件。特别是,我想合并两个 SVG 文件,添加一些注释,并将它们排列在一个更大的图像中。有没有可用于此类目的的软件?
谢谢,
巴托什
更新
我最终决定使用 nosklo 提出的方法。您可以在github repo上找到 SVG 处理 python 模块的代码。我还在这篇 文章中描述了如何使用它
graphics - 让 R 绘图进入 LaTeX?
我是 R 和 LaTeX 的新手,最近才发现如何使用 R 绘制标准时间序列图并将其保存为 png 图像。我担心的是,将其保存为图像然后将其嵌入到 LaTeX 中会对其进行缩放并使其看起来很难看。
有没有办法让 R 的plot()
函数输出矢量图形并将其嵌入到 LaTeX 中?我在这两个方面都是初学者,所以请保持温和:) 非常感谢代码片段!
c# - WPF 是我的应用程序运行缓慢的原因吗?
我正在使用 WPF 开发应用程序。该应用程序全屏运行,无论显示器分辨率如何,我都需要它很好地调整大小。平面设计师为 UI 按钮、背景等设计了精美的图像。使用 Illustrator 插件,所有图像都已转换为 xaml 文件。我已将所有这些图像添加到应用程序中,它们看起来很棒。我还使用了很多Grid
布局,以便屏幕可以在保持布局的同时调整大小。所有这些都按需要显示,以不同的分辨率运行时看起来没有任何拉伸。但是,屏幕转换和 UI 交互很慢。
我想知道,这是由于大量使用图形造成的吗?我是否使用了太多Grid
布局?但是,我需要Grid
s 以便我可以拥有分辨率独立性。
该应用程序在我的开发机器上运行良好,但在性能较低的机器上运行速度非常慢。是的,这是可以预料的,但不是我所看到的程度。我的雇主坚持认为应用程序可以在这些性能较低的机器上顺利运行。
我已经对应用程序进行了一些分析,似乎最耗时的是显示内容(尽管我不确定我是否完全理解如何有效地使用分析器)。
如果是 WPF 导致速度变慢,我该怎么做才能改善呢?
qt - 从 Qt 4.5 生成矢量 EMF/WMF(Windows 元文件)剪贴板内容
我们正在将大型代码库从 GDI 转移到 QPainter。我们过去很容易在 Windows 上使用的一件事是 EMF 剪贴板格式,它使客户能够以矢量格式在其他程序(如 Office)中操作他们粘贴的输出。
我们很容易将位图从 Qt 生成到 EMF 中,但这并不能让我们恢复旧格式的可编辑性。我们还可以从 Postscript 制作 mime 数据,例如,在某些程序中会保留矢量格式,但不允许在 Office 中进行编辑。
由于 Trolltech/Nokia 放弃了 GDI 渲染路径,是否有任何体面的方法可以从 QPainter 生成矢量 EMF 输出?选项包括第三方库后处理其他输出格式(我们还没有看到可用的结果),假打印机驱动程序(引入 Windows 版本的特定问题)。它必须在 WinXP -> 7 上工作。
有没有其他人解决了这个问题?
c++ - 用于游戏开发的 2D 矢量建模
制作我的 Asteroids 克隆(用 C 语言) 我已经爱上了基于矢量的实体,但我只是将它们编码为 x,y 点数组。对于像 Asteroids 这样的东西来说这很好,但是如果我想制作更复杂的 2D 模型应该怎么做?
我注意到那里有大量的 3D 建模软件,以及大量的教程和帮助将 3D 模型导入到 C/C++ 程序中以与 Open GL 一起使用。
不过,我对创建 2D 矢量模型比 3D 更感兴趣,因为我很高兴继续尝试 2D 游戏一段时间。有没有像二维建模这样的概念?是否有用于创建和导出 2D 模型的工具和专门用于导入 2D 模型的库,或者是否只是在 3D 软件中创建平面模型,然后导入这些文件(例如 .3ds、.ms3d)并将它们平放在 z 轴上?
到目前为止,我唯一的想法可能是使用Inkscape之类的东西进行建模,生成 SVG 文件,然后使用Cairo导入和渲染它们。这会运作良好,还是您有其他建议?
请注意,我对任何类型的建模都是一个新手,所以我可能会问一个愚蠢的问题......