问题标签 [svgkit]

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.

0 投票
1 回答
89 浏览

ios - UIView 中图形的 Z 级

我正在开发一个绘图应用程序,用户应该能够填充锁定区域并简单地在手指移动时画线。

锁定区域作为 SVG(路径)提供,因此我使用 SVGKit 库将它们呈现在屏幕上(作为视图中的 CAShapeLayers)。然后基本上在适当的图层上使用 fillColor 来填充它。

然而,对于线条绘制,核心图形开始发挥作用(CGContextStrokePath),线条总是绘制在 CALayers 层次结构中包含的所有内容之下。所以基本上在填充区域下方。

我想要达到的是一个系统,其中最后应用的绘图始终位于顶部。这样应用填充会覆盖该区域中的任何线条,然后绘制一条线将其显示在填充区域上方。

似乎 CGLayer 的 z-index 小于 CALayer 的 z-index,我需要一些其他方法来实现我的目标......

0 投票
1 回答
195 浏览

ios - 我不能在应用商店上传应用程序?

将应用程序上传到 App Store 时遇到问题。当我上传应用程序时,它显示错误:

我正在使用 SVGKit,它可以在我的设备上完美运行。

0 投票
2 回答
3858 浏览

ios - 如何在 iOS 中将 jpg 或 png 转换为 svg?

我喜欢将 .jpg 或 .png 文件转换为可以在 UIImageView 中显示的 .svg 格式。有没有办法在 Objective-C 中做到这一点?

0 投票
1 回答
1093 浏览

ios - SVGKit:如何使用 SVGKit 渲染引用 iOS 设备照片的 SVG XML 字符串

所以,我的基本问题是:

iOS 上有没有办法使用 SVGKit 来渲染包含对本地图像的引用的 SVG?

血腥细节

我的应用程序需要生成和呈现 SVG(NSString 中的 XML)。XML 将引用设备上的图像 URL(在相机胶卷中)。我正在使用适用于 iOS 的SVGKit。我可以使用以下方法从图像 PHAsset 中获取 URL(请参阅:StackOverflow:nsurl-from-phasset):

然后我在生成的 SVG XML 字符串中使用该图像 URL(这个是在模拟器中生成的):

我试过的

我尝试使用SVGKSourceString创建一个SVGKImage,但这会为本地图像 URL 返回一个空白图像(远程 URL 引用工作正常)。“空白图像”是指具有大小但没有图像内容的非零对象。

我在模拟器上注意到,如果我从设备上的文件中读取 SVG 内容,它就可以工作。我觉得这很奇怪,但是,无论如何。当它从文件中读取 SVG 内容时,它必须以不同的方式处理 URL 引用。因此,我将 NSString 转换为 NSInputStream,然后使用 SVGSourceLocalFile.initWithInputStream: 创建 SVGKSourceLocalFile,它也在模拟器上运行。渲染的 SVG 中引用的本地图像。(注意:我必须使用假文件名设置 filePath 以防止 imageWithSource 爆炸。)

但是,遗憾的是,这在真实设备上不起作用。SVGKImage imageSource:返回一个空白图像。

我强烈怀疑它不喜欢设备 URL 引用。我知道从 PHAsset 获取通用 URL 存在问题。模拟器上的 URL 在 Safari 模拟器中有效。但是我在真实设备上返回的 URL(看起来像“file:///var/mobile/Media/DCIM/102APPLE/IMG_2405.JPG”)在设备的 Safari 应用程序上不起作用。我还尝试将 PHAsset 转换为 ALAssetURL ..(请参阅StackOverflow:how-to-get-an-alasset-url-from-a-phasset),但这也不起作用。这也会返回一个空白图像。

版本详情

  • iOS版本:10.0.2(真实设备),sim上的各种版本(8.4、9.3、10.0)
  • SVGKit 版本:pod 'SVGKit', :git => ' https://github.com/SVGKit/SVGKit.git ', :branch => '2.x'
0 投票
1 回答
1114 浏览

swift - 如何快速保存和检索 svg 图像。

我是 SVG 图像使用的新手。我在 iOS 中使用了 svg 图像。我使用 SVGKLayeredImageView 获得 CALayer。并改变 SVG 图像不同部分的颜色。现在我坚持这一点,如何使用修改后的图层在本地保存图像。这是我的代码。请审查它并给我好的意见。提前致谢。

我想保存这个修改后的 svg 图片,请给出答案。等待回复。

0 投票
2 回答
8988 浏览

ios - Swift SVG Fil 颜色到 SVGImage

我正在使用 SVGKit 来显示图像

https://github.com/SVGKit/SVGKit/

如何为 SVGImage 应用填充颜色

想实现这个 setFilColor 函数

0 投票
2 回答
2651 浏览

ios - 为什么我不能在 Swift 4 中使用 `SVGKit` 将 `svg` 数据转换为 UIImage?

我正在尝试使用 将我的svg图像数据转换为UIImage实例SVGKit,但是当我尝试这样做时,它会崩溃,并且错误消息如下所示:

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“要求将百分比值转换为不同的类型 (5)”

这是转换的svg代码UIImage

它在这条线上崩溃了

我正在使用AlamofireImage库从服务器下载我的图像数据。

我已经检查了我的svg数据是否在响应中。

仅供参考:我的图像是头像字母和渐变背景的组合。

请参阅下图以供参考。

在此处输入图像描述

我的 svg 图片示例 URL: 链接

有什么帮助吗?

提前致谢。

0 投票
1 回答
860 浏览

ios - 应用程序崩溃为 *** +[SVGKImage imageWithSource:] 中的断言失败

我正在 swift Project 中使用 SVGKit。我按照以下( https://github.com/SVGKit/SVGKit)正确地将 SVGKit 框架和 3rd 方资源文件夹导入到我的项目中。

我在项目中创建了一个包含 .svg 图像集的文件夹,并且我正在使用以下代码将图像加载到 testIcon(ImageView) 中。

但我收到以下错误,

** +[SVGKImage imageWithSource:]、/Users/fss/Downloads/SVGKit-2.x/Source/SVGKImage.m:229 中的断言失败

*** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无效参数不满足:newSource!= nil”

请让我知道如何将.svg图像路径(在我的项目中)提到 SVGKImage 图像类或如何解决此问题。

0 投票
0 回答
262 浏览

ios - 如何基于 CAShapeLayer 创建复杂的 SVG 图层填充动画

正如您从这个问题的标题中可以理解的那样,我正在尝试实现 SVG 文件的 CALayer(CAShapeLayer) 的填充动画。

从我附加的图像中您可以看到动画应该有多复杂。
P1。 动画开始后几毫秒 P2。 P1 后几毫秒

我决定从一个圆圈开始,并为其添加动画以填充下面的图层。一切都很好。 在此处输入图像描述

所以,我开始构建 UIBezierPath 或类似的东西,但看起来我走错了方向。

如果您能给我不同的想法来实现它,我将不胜感激。对于 SVG,我使用 SVGKit。也许通过使用这些类集,我可以做一些事情。

谢谢!

0 投票
1 回答
157 浏览

ios - CAShapeLayer:识别形状:在该形状中添加 CATextLayer

我有SVG文件,并且能够使用SVGKit.

现在,我有CAShapeLayer可能包含圆形、方形或任何闭合形状。

我想以这样的方式添加CATextLayer文本CAShapeLayer不应该跨越定义的形状。

这是穿越的CATextLayer示例CAShapeLayer

在此处输入图像描述 在此处输入图像描述

它的交叉只是因为CATextLayer从 0 位置开始,CAShapeLayer其中包含圆,特别是在这种情况下。

就我而言,CAShapeLayer可以包含任何封闭的形状。它也可以是椭圆形的。

如何识别里面的形状CAShapeLayer?或如何应用路径CATextLayer?这将确保文本将绘制在形状内?

这是添加CATextLayerOn的代码CAShapeLayer