我想制作一张具有透明背景的图像,该图像可以被我捕获,并且应该只有图像的边缘。
然后我要更改该图像边缘的颜色。
所以建议我有什么办法。
谢谢
更新
我的问题不是重复的,因为区别是:
答案 0 :(得分:1)
使用它从网址上传图片
func download(url:String) {
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0];
let filePath="\(documentsPath)/img.svg"
DispatchQueue.global(qos: .background).async {
if let url = URL(string: "\(url)/img.svg"),
let urlData = NSData(contentsOf: url) {
DispatchQueue.main.async {
urlData.write(toFile: filePath, atomically: true)
print("done")
}
}
}
}
使用方法
download(url: "https://yuordomin.com/nameimge.svg")
答案 1 :(得分:0)
编辑,我的回答忽略了您明确想要SVG
图像的方面,对此感到抱歉;您仍然可以将图像转换为PDF
并使用上述方法。
您可以使用renderingMode
的{{1}}属性来生成支持设置色调颜色的模板图像。这会将所有非透明像素解释为“前景”,将通过色泽着色。
有两种方法可以这样做:
UIImage
设置为Render as
,在资产目录中设置图像的渲染模式。使用Template Image
加载此图像时,您会自动将其作为模板图像获取。UIImage(named:)
实例时,可以将其转换为模板图像:UIImage
在两种情况下,都可以使用let templateImage = image.withRenderingMode(.alwaysTemplate)
设置图像的色彩。