问题标签 [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.
ios - UIView 中图形的 Z 级
我正在开发一个绘图应用程序,用户应该能够填充锁定区域并简单地在手指移动时画线。
锁定区域作为 SVG(路径)提供,因此我使用 SVGKit 库将它们呈现在屏幕上(作为视图中的 CAShapeLayers)。然后基本上在适当的图层上使用 fillColor 来填充它。
然而,对于线条绘制,核心图形开始发挥作用(CGContextStrokePath),线条总是绘制在 CALayers 层次结构中包含的所有内容之下。所以基本上在填充区域下方。
我想要达到的是一个系统,其中最后应用的绘图始终位于顶部。这样应用填充会覆盖该区域中的任何线条,然后绘制一条线将其显示在填充区域上方。
似乎 CGLayer 的 z-index 小于 CALayer 的 z-index,我需要一些其他方法来实现我的目标......
ios - 如何在 iOS 中将 jpg 或 png 转换为 svg?
我喜欢将 .jpg 或 .png 文件转换为可以在 UIImageView 中显示的 .svg 格式。有没有办法在 Objective-C 中做到这一点?
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'
swift - 如何快速保存和检索 svg 图像。
我是 SVG 图像使用的新手。我在 iOS 中使用了 svg 图像。我使用 SVGKLayeredImageView 获得 CALayer。并改变 SVG 图像不同部分的颜色。现在我坚持这一点,如何使用修改后的图层在本地保存图像。这是我的代码。请审查它并给我好的意见。提前致谢。
我想保存这个修改后的 svg 图片,请给出答案。等待回复。
ios - 为什么我不能在 Swift 4 中使用 `SVGKit` 将 `svg` 数据转换为 UIImage?
我正在尝试使用 将我的svg
图像数据转换为UIImage
实例SVGKit
,但是当我尝试这样做时,它会崩溃,并且错误消息如下所示:
由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“要求将百分比值转换为不同的类型 (5)”
这是转换的svg
代码UIImage
。
它在这条线上崩溃了
我正在使用AlamofireImage
库从服务器下载我的图像数据。
我已经检查了我的svg
数据是否在响应中。
仅供参考:我的图像是头像字母和渐变背景的组合。
请参阅下图以供参考。
我的 svg 图片示例 URL: 链接
有什么帮助吗?
提前致谢。
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 图像类或如何解决此问题。
ios - CAShapeLayer:识别形状:在该形状中添加 CATextLayer
我有SVG文件,并且能够使用SVGKit
.
现在,我有CAShapeLayer
可能包含圆形、方形或任何闭合形状。
我想以这样的方式添加CATextLayer
文本CAShapeLayer
不应该跨越定义的形状。
这是穿越的CATextLayer
示例CAShapeLayer
:
它的交叉只是因为CATextLayer
从 0 位置开始,CAShapeLayer
其中包含圆,特别是在这种情况下。
就我而言,CAShapeLayer
可以包含任何封闭的形状。它也可以是椭圆形的。
如何识别里面的形状CAShapeLayer
?或如何应用路径CATextLayer
?这将确保文本将绘制在形状内?
这是添加CATextLayer
On的代码CAShapeLayer
: