我想获取一个 UIImage 并输出它的 100 x 100 版本以用作缩略图。我找到了一些关于如何在 Objective-C 中做到这一点的答案,但不是很快,并且不知道从哪里开始。我还找到了链接(https://nshipster.com/image-resizing/#technique-3-creating-a-thumbnail-with-image-io),这表明它并不像我希望的那么直接。该链接让我希望其中一种方法可能有效,但每个方法都引用了一个 URL 参数,这让我很困惑,因为我从 UIImage 作为输入开始。
在类似的情况下(用户从手机上传图片),我使用下面的代码从资产创建缩略图,当输入是 UIImage 而不是 PHAsset 时,我正在寻求帮助做同样的事情。
func getAssetThumbnail(asset: PHAsset) -> UIImage {
let manager = PHImageManager.default()
let option = PHImageRequestOptions()
var thumbnail = UIImage()
option.isSynchronous = true
manager.requestImage(for: asset, targetSize: CGSize(width: 100, height: 100), contentMode: .aspectFit, options: option, resultHandler: {(result, info)->Void in
thumbnail = result!
})
return thumbnail
}
Run Code Online (Sandbox Code Playgroud) 为了对具有布尔值,整数和日期的自定义结构的数组进行排序。我已成功将以下语法用于布尔值,并且适用于“新娘”和“新郎”的情况。当我尝试为2个Date变量添加排序时,出现以下错误错误:
“二进制运算符'>'不能应用于两个'Date?' 操作数”
我的印象是,可以用类似的方式将Date值与正常> < ==条件进行比较,但是我想我会收到错误,因为这些值未展开?如果是正确的话,我认为我不能做一个“让日期”吗?转换为未包装的日期,因此我不确定如何比较这些值。
var sortedImages = [submitted_image]()
switch sortOption {
case .brideInPic:
print("bride")
sortedImages = Images.sorted(by: {$0.brideInPic && !$1.brideInPic})
print("sortedImages: \(sortedImages.count), Images: \(Images.count)")
case .groomInPic:
print("groom")
sortedImages = Images.sorted(by: {$0.groomInPic && !$1.groomInPic})
print("sortedImages: \(sortedImages.count), Images: \(Images.count)")
case .create_dt:
print("create")
sortedImages = Images.sorted(by: {$0.create_dt > $1.create_dt})
}
Run Code Online (Sandbox Code Playgroud)