为了好玩,我想看看我是否可以创建一个有点像WPF的小子集的库:一个托管模板驱动的基于矢量的图形系统.(我有一些理论我想测试.)然而,我不是一个图形天才,我正在寻找一个好的矢量图形库.
我知道微软在内部使用MilCore,它或多或少似乎将一系列矢量结构从托管世界传递到非托管世界并呈现它们.我相信这个底层库是基于立即模式的.我想使用现有的免费矢量图形库以及所需功能的清单:
我不需要的东西:
这个库http://jeremiahmorrill.com/2011/02/05/a-simple-directcanvas-tutorial/看起来与我想要的类似,但最好更稳定,有更多例子.
如果可能的话,我更喜欢DX/OpenGL以上的一层.
我有什么选择?这是存在还是只是一个白日梦?提前谢谢 - 我觉得我刚刚输入购物清单,但我真的很感谢社区对此的反馈.它似乎不适合我在这里列出的其他矢量图形问题,但如果我错过了一个很棒的帖子,请告诉我!
我想加载存储为XAML文件的矢量图形(单独的文件,不在字典中),嵌入我的应用程序中,我有几个问题要做:
XAML看起来有点模棱两可,因为它可以用来表示像矢量图像这样的静态资源,或者像WPF中那样动态构建的接口.因此,我不清楚XAML矢量图像的格式:根元素应该是什么,比如svg矢量图像的"svg"标签?目前,我使用Canvas作为顶级元素,因为我想在另一个Canvas中绘制我的图形.
以编程方式加载这些文件的最佳方法是什么(我的意思是,从xaml文件创建Canvas)?我已经看过(并尝试过)使用XamlReader的不同解决方案,但没有任何效果:应用程序崩溃,调试器没有帮助(我遇到的大多数问题似乎在解析期间发生,并且错误消息不清楚).
我已经阅读http://learnwpf.com/post/2006/06/04/How-do-I-Include-Vector-Based-Image-Resources-in-my-WPF-Application.aspx,但链接到处理资源文件加载的文章已经死亡,图像不是使用C#代码创建的.
我当前的项目与位图到矢量有关.到目前为止我找到了这些库:
该项目将用于矢量化卡通形象(漫画或卡通,特别是).我的主要目标是矢量化黑白图像.所以potrace给了我足够的结果,但我想处理渐变,例如,逐渐从黑色到白色.
到目前为止,很难找到支持颜色渐变的库.Ardeco和rastertovector支持颜色渐变,但它们有点过时了.我想知道是否有任何维护良好(当然,文档齐全)的矢量追踪库
谢谢!
我能够创建一个包含形状和数字的简单图表.我使用以下代码:
import gizeh as gz
W, H = 500, 300
surface = gz.Surface(W,H, bg_color=(1,0.7,1))
for a in range(1,9):
rect = gz.rectangle(lx = 10, ly = 10, xy=(W/a,H/a), fill =(0,1,0.7))
rect.draw(surface)
txt = gz.text(str(a), fontfamily="Dancing Script", fontsize=15, fill=(0,0,0),xy=(W/a,H/a))
txt.draw(surface)
surface.ipython_display()
Run Code Online (Sandbox Code Playgroud)
我还使用moviepy创建了一个版本:
import numpy as np
import gizeh as gz
import moviepy.editor as mpy
W, H = 500, 300
duration = 5
figpath = '/tmp/'
fps = 1
def make_frame(t):
surface = gz.Surface(W,H, bg_color=(1,1,1))
rect = gz.rectangle(lx = 10, ly = 10, …Run Code Online (Sandbox Code Playgroud) 我正在使用WPF开发一个应用程序.该应用程序全屏运行,无论显示器分辨率如何,我都需要它才能很好地调整大小.图形设计师为UI按钮,背景等设计了精美的图像.使用Illustrator插件,所有图像都已转换为xaml文件.我已将所有这些图像添加到应用程序中,它们看起来很棒.我也使用了很多Grid布局,以便屏幕可以在保持布局的同时调整大小.所有这些都根据需要显示,当以不同的分辨率运行时,没有任何东西看起来拉伸.但是,屏幕转换和UI交互很慢.
我想知道,这是由于图形的大量使用?我使用了太多的Grid布局吗?但是,我需要Grids以便我可以拥有分辨率独立性.
该应用程序在我的开发机器上运行良好,但在具有较低性能的机器上运行速度非常慢.是的,这是可以预料的,但不是我所看到的程度.我的雇主坚持认为应用程序在这些性能较低的机器上运行顺畅.
我已经对应用程序进行了一些分析,看起来需要花费最多时间的是显示内容(尽管我不确定我是否完全理解如何有效地使用分析器).
如果WPF导致速度减慢,我该怎么做才能改善这一点?
我想比较两个矢量图像(比如SVG),看看它们有多接近.基本上,我想测试跟踪算法的正确性,该算法将光栅图像转换为矢量格式.
我想测试这个算法的方式是:
- 拍一些矢量图像.
- 将矢量图像光栅化为png.
- 将上述png转换为跟踪算法.
- 将跟踪程序(SVG)的输出与原始程序进行比较.
虽然我知道像RMSE(在imagemagick中)有一些光栅图像的矩阵,但如果有一些标准的矢量格式矩阵,我不熟悉.我可以想到一些简单的例如弧数,线,曲线等.但是这些不能检测几何和颜色的偏差.有人可以建议一个良好的标准指标或其他方法来解决这个问题.
假设我有一个带有中心的D维球体,[C1,C2,C3,C4,...... CD]和半径R.现在我想绘制均匀分布的N个点(彼此等距离)在球体的表面上.这些点究竟在哪里并不重要,只是它们彼此之间的距离相等.我想要一个返回这些点数组的函数P.
function plotter(D, C[1...D], R, N)
{
//code to generate the equidistant points on the sphere
return P[1...N][1...D];
}
Run Code Online (Sandbox Code Playgroud)


当我尝试使用PIL打开EPS或SVG图像时,我遇到了几个问题.
打开EPS
from PIL import Image
test = Image.open('test.eps')
Run Code Online (Sandbox Code Playgroud)
结束于:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\Lib\site-packages\PIL\Image.py", line 1965, in open
return factory(fp, filename)
File "C:\Python27\Lib\site-packages\PIL\ImageFile.py", line 91, in __init__
self._open()
File "C:\Python27\Lib\site-packages\PIL\EpsImagePlugin.py", line 206, in _open
raise IOError, "bad EPS header"
IOError: bad EPS header
Run Code Online (Sandbox Code Playgroud)
打开SVG结束IOError: cannot identify image file.
问题是我必须在我的应用程序中支持这两种格式.转换为其他格式是别无选择.我使用的是Windows 7,Python 2.7.2和PIL 1.1.7.
从不同配置的矢量绘制生成png图像(API低于21)...我正在使用AndroidStudio2.0 preview5和gradle:2.0.0-alpha5 ...
在build.gradle-
Run Code Online (Sandbox Code Playgroud)defaultConfig { ... //generate drawables from vectors generatedDensities = ['hdpi','xxhdpi'] }
generatedDensities显示为IDE 已弃用.
实施它的新方法是什么?
我尝试使用 Xcode 11.4 和 iOS 13.4 在支持 SwiftUI 的应用程序中包含 pdf。但是,当我调整 pdf 大小时,它的边缘会变得粗糙。我已经包含了 pdf 的两个版本:一个大 pdf ( icon.pdf) 和一个小 pdf ( icon_small.pdf)。当我调整大小时,icon.pdf它会开始边缘,而icon_small.pdf边缘会变得平滑。该问题也适用于我尝试过的所有其他 pdf。
这是我的代码:
struct ContentView: View {
var body: some View {
VStack {
Spacer()
Text("icon.pdf:")
Image("icon")
.resizable()
.renderingMode(.template)
.aspectRatio(contentMode: .fit)
.frame(width: 27.0, height: 27.0)
Spacer()
Text("icon_small.pdf:")
Image("icon_small")
Spacer()
}
}
}
Run Code Online (Sandbox Code Playgroud)
双方icon.pdf并icon_small.pdf具有下列资产设置:
pdf 可在此处获得:
vector-graphics ×10
c# ×3
graphics ×3
python ×2
svg ×2
wpf ×2
.net ×1
3d ×1
android ×1
animation ×1
bitmapimage ×1
c++ ×1
eps ×1
gradle ×1
image ×1
math ×1
pdf ×1
performance ×1
swiftui ×1
trigonometry ×1
xaml ×1
xamlreader ×1