gpt4 book ai didi

iphone - 使用 SVGKit 加载 SVG 文件

转载 作者:可可西里 更新时间:2023-11-01 05:57:05 28 4
gpt4 key购买 nike

我是 iOS 的新手,我正在尝试使用 SVGKit 在我的应用程序中呈现 svg 文件。我想从 URL 加载 svg 文件,但无法正常工作。我收到以下错误:

Thread 1: EXC_BAD_Access (code = 2, address =0x0)

在以下行中:NSLog(@"[%@] SVGKit Parse error: %@", [self class], *error); 在 SVGDocument.m 文件中。我尝试使用现有的 SVGPad 示例从 URL 加载文件,该示例完美运行并加载图片但不是从 URL。我使用这段代码从 URL 加载图片:

NSString *urlString = [NSString stringWithFormat:@"http://upload.wikimedia.org/wikipedia/commons/6/66/Blank_Map-Africa.svg"];
NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
SVGDocument* svgDocument = [SVGDocument documentFromURL:url];
self.contentView = [[[SVGView alloc] initWithDocument:svgDocument] autorelease];

我还尝试创建我的简单应用程序,它使用以下代码从本地文件加载仅十张简单图片:

SecondViewController *vc = [[SecondViewController alloc] init];
NSString* svgFilename = [@"/Users/XCode Projects/SVGLink/Beastie" stringByAppendingPathExtension:@"svg"];
SVGDocument *svgDocument = [SVGDocument documentWithContentsOfFile:svgFilename];
vc.view = [[SVGView alloc] initWithDocument:svgDocument];
[self.window setRootViewController:vc];

我得到的只是这个错误:[SVGDocument] DEBUG INFO: set document viewBox = {{0, 0}, {340.961, 377.75}}

谁能解释一下我哪里出错了?

我使用了这些版本的 SVGKit: https://github.com/SVGKit/SVGKit/

谢谢,百合花

编辑:

此 SVG 套件版本,https://github.com/meric/SVGKit ,从 url 链接加载 .svg 文件时功能完美,但我仍然从文件中得到解析错误,如脚本和其他无法识别的东西。 UIWebView 中的相同文件完美显示。我想转移到 SVG 解析器的唯一原因是因为在旋转时 UIWebView 和 SVG 图向下移动了几步,我找不到修复它的方法。

最佳答案

PocketSVG将允许您显示和操作 SVG 文件的线条。

PocketSVG *myBezier = [[PocketSVG alloc] initFromSVGFileNamed:@"BezierCurve1-iPad"];    
UIBezierPath *myPath = myBezier.bezier;

CAShapeLayer *myShapeLayer = [CAShapeLayer layer];
myShapeLayer.path = myPath.CGPath;

[self.view.layer addSublayer:myShapeLayer];

关于iphone - 使用 SVGKit 加载 SVG 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12212332/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com