我注意到 Adobe illustrator 会输出类似这样的 SVG
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 521.92 138"><defs><style>.a{fill:#0e0e0e;}.b{fill:#535353;}</style></defs><title>macys_john</title>
<path class="a" d="M319.2,48.7a42.9,42.9,0,1,0,0,31.6v24.4h3.1V23.6h-3.1V48.7Zm-11.7,44a39.83,39.83,0,1,1,11.7-28.2A40.26,40.26,0,0,1,307.5,92.7Z"/>
<path class="a" d="M200.2,21.5c-12.2,0-20.3,5.6-25.1,12.3a37.57,37.57,0,0,0-4.7,9.1,29.89,29.89,0,0,0-5.2-10.4c-4.7-6.2-12.7-11-24.8-11s-20.3,5.6-25.1,12.3a40.48,40.48,0,0,0-3.6,6.3V23.6h-3.1v81.2h3.1V53.4a33.76,33.76,0,0,1,6.1-17.8c4.4-6.1,11.4-11,22.6-11s18.1,4.4,22.3,9.8a28.9,28.9,0,0,1,5.7,16.8v53.9h3.1V52.3a33.39,33.39,0,0,1,6-16.6c4.4-6.1,11.4-11,22.6-11s18.1,4.4,22.3,9.8a28.9,28.9,0,0,1,5.7,16.8v53.9h3.1V51.3a31.4,31.4,0,0,0-6.4-18.7C220.3,26.3,212.3,21.4,200.2,21.5Z"/>
<polygon class="a" points="476.4 23.4 473 23.4 439.7 100.6 408.3 23.4 405 23.4 438 104.6 423.6 138 427 138 476.4 23.4"/>
<path class="a" d="M518.6,70.6c-3.3-4.5-9.3-7.8-20.3-10.7-9.1-2.4-13.6-6.1-16-9.4a12,12,0,0,1-2.6-7.1V43h0V41.9a19.9,19.9,0,0,1,2.7-10.1c2.4-3.8,6.7-7.2,15.6-7.3,9.4,0,13.8,3.6,16.3,7.5a18.22,18.22,0,0,1,2.6,9.5v0.3L520,42V41.5a21.87,21.87,0,0,0-3.1-11.1c-2.9-4.7-8.7-9-18.9-9-9.7,0-15.4,4.1-18.3,8.7a22.79,22.79,0,0,0-3.2,11.8v1.4a15.17,15.17,0,0,0,3.2,9c2.8,3.9,8.1,8,17.7,10.5,10.8,2.9,16.1,6,18.6,9.6s2.9,7.9,2.8,14a17,17,0,0,1-6,12.5,22.32,22.32,0,0,1-15,5.6,23,23,0,0,1-14.3-5.1c-4.1-3.4-6.9-8.6-6.9-16h-3.1c0,8.2,3.3,14.4,8.1,18.4a25.27,25.27,0,0,0,16.3,5.8c13.4,0,24-9.9,24-21.1C522,80.4,521.9,75.2,518.6,70.6Z"/>
<polygon class="b" points="56.6 52.5 45.8 19.3 35 52.5 0 52.5 28.3 73.1 17.5 106.3 45.8 85.8 74 106.3 63.2 73.1 91.5 52.5 56.6 52.5"/>
<polygon class="a" points="475.4 16.1 480.6 12.3 485.9 16.1 483.9 10 489.1 6.2 482.6 6.2 480.6 0 …Run Code Online (Sandbox Code Playgroud) 如果一个人希望将大量光栅图像批量转换为矢量图形,那么有没有哪种工具做得那么好?
举个例子,想想几乎所有具有标准形状(椭圆,矩形)和文本的图表.
考虑Button由Path绘制的许多图形元素(和)组成Canvas.为什么使用Path和其他元素构建图像Button比Bitmap为其分配自定义更好?
我知道一个优点,"路径是矢量图像".但如果我不打算缩放,我为什么要用它代替我的自定义.png,.ico和.jpg图片?
我使用MFC开发了一个非常大的应用程序.Naturaly,我使用GDI绘图,CCmdTarget用于事件路由,以及文档视图架构.这是一条方便的发展道路.
现在,客户有兴趣将此应用程序转换为.Net.我更愿意(也是他们)用C#编写新产品.
应用程序显示并与数千个图形对象进行交互,因此我认为使用GDI +虽然看起来很自然,但可能会导致性能问题,所以我在考虑使用OpenGL,特别是OpenTK作为图形库(它是2D).
我知道OpenGL与这些Windows API的工作方式不同,后者依赖于屏幕部分的Invalidation.OpenGL有一个渲染循环,不断绘制到屏幕上.
我的问题是:这是一种可接受的方式,考虑:
性能 - 用户是否需要特殊的图形卡(硬件?).这是图形密集型,但它不是一个高端游戏
打印和打印预览 - 这些事情对于achienve来说是否复杂?
多个选择和上下文菜单
这个库在Windows窗体中运行良好吗?
这不是一个严格的编程问题,但我在这里问它,因为它肯定是一个软件开发问题,如果你采用"软件开发"来包括创建软件系统的所有方面.
我是一名独立的iPhone开发人员.除了翻译,我自己处理我的应用程序的所有方面 - 包括图形.我必须定期创建各种图标,按钮和UI元素.我已经学会了这些方面的一些技巧,虽然它们肯定不是艺术品,但我可以有效地使用渐变,阴影,边框笔触,透明度和纹理来创建简约,有吸引力的效果.
到目前为止,我已经使用了一个名为VectorDesigner的矢量绘图工具进行所有开发,偶尔使用Pixelmator进行光栅后处理.到目前为止,它的工作基本上没问题,但是VectorDesigner有很多问题:
因此,我正在寻找一种更好的工具来实现这一特定目的:在没有图形设计培训的情况下,在Mac上基于形状绘制简单图标,按钮和UI元素.良好的导出功能将是一个优势 - 理想情况下,将PNG导出到它在我的项目中的位置几乎同样容易,因为它是保存(而非另存为)文件.
对我来说,完美的工具是允许您通过堆叠由原始形状(可以保持单独编辑)定义的区域和蒙版来定义对象的形状,然后在这些对象上定义属性,如变换和笔划.不过,我不知道是否存在这样的事情.
Adobe的工具通常会让我觉得非常重量级,并且通常很昂贵,但我认为它们是可能的.(Fireworks,它强调屏幕设计,看起来可能特别合适,但我对此知之甚少.)但还有什么呢?如果你处在像我这样的位置,你会用什么?您有什么推荐的吗?
编辑补充说:当然,平面设计师可以从古老的MacPaint副本中获得比Illustrator CS5更好的结果.没有工具可以取代技能和品味,许多程序员也没有.我对此很清楚.但我很幸运,至少有一些品味足以让我的用户赞美我的应用在评论中的外观.我不是很有天赋,但我确实知道我的局限性,而且我不会让自己产生任何丑陋的东西.鉴于我的预算,现在必须这样做.
我需要实现一个等高线绘图算法(而不是只使用一个).输入是(连续)函数f:R ^ 2 - > R(该函数在整个域上定义,而不仅仅针对某些输入).输出应为矢量形式,即一组样条或线段.
我正在寻找有关如何实现这一点的建议,最好是以(科学)论文的形式.
我发现了对80年代开发的算法的一些参考("水平追踪算法").过去30年来这个领域有没有发展?用于解决此问题的标准方法是什么?
该算法将用于实时可视化,因此它需要快速,同时仍能产生不错的结果.
(小型,独立且经过良好测试的C/C++实现也将受到欢迎.)
我想将一个简单的投影应用于SVG文件.由于这是我第一次深入SVG过滤器,我陷入困境,无法找到(可能是简单的)问题的解决方案:为什么feColorMatrix不应用于阴影?
这是过滤器:
<defs>
<filter id="drop-shadow" filterUnits="userSpaceOnUse" width="120" height="120">
<feGaussianBlur in="SourceAlpha" result="blur-out" stdDeviation="1" />
<feOffset in="blur-out" result="the-shadow" dx="0" dy="1"/>
<feColorMatrix in="the-shadow" result="color-out" type="matrix"
values="0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0.1 0"/>
<feBlend in="SourceGraphic" in2="the-shadow" mode="normal"/>
</filter>
</defs>
Run Code Online (Sandbox Code Playgroud)
此外,FireFox可能会忽略feOffset吗?或者语法有问题吗?
另外:在所有浏览器中,投影似乎都会在顶部和左侧被剪掉.svg(在img标签中)是22px x 22px大,我已经扩大了viewBox:
<svg version="1.1" id="Layer_1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
y="0px" width="22px" height="22px" viewBox="0 0 24 24" enable-background="new 0 0 24 24"
xml:space="preserve">
Run Code Online (Sandbox Code Playgroud)
但仍然没有运气.在我的CSS文件 …
我有一个3D坐标,我希望通过modelVeiw矩阵进行转换,以进入GLSL着色器中的视图空间.该点在着色器中定义,不受OpenGL转换的影响.反正有没有像gl_ModelViewMatrix*(vec3名称)这样的东西?
Inkscape SVG编辑器内置了一些整洁的路径操作工具。我特别想以编程方式访问的一个是offset函数,它(试图)创建了一条与现有路径有固定距离的路径,如下图所示(黑线)是红线的偏移量):

我希望能够从Python程序执行此操作。
Inkscape具有基本的脚本支持,但它基本上仅由调用非交互式菜单命令组成-例如,您可以创建一个从现有路径插入或插入的路径,但只能精确地设置1px或10px,而不是用户指定的路径量。因此,这里似乎没有用。
是否有一个库或其他工具可用来在Python中进行这些路径转换(理想情况下是转换为SVG文件)?