- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的项目中使用 Fusuma pod,但在最新的 iOS 13 中,存在一个与从图库中选择的图像相关的错误。
确切地说,如果选择的图像来自图库(在带有 ios 13 的 iPhone 设备上,而不是模拟器),则图像的尺寸为宽度:39 和高度:39,下面的函数是Fusuma 的 ,位于 FusumaViewController
private func requestImage(with asset: PHAsset, cropRect: CGRect, completion: @escaping (PHAsset, UIImage) -> Void) {
DispatchQueue.global(qos: .default).async(execute: {
let options = PHImageRequestOptions()
options.deliveryMode = .highQualityFormat
options.isNetworkAccessAllowed = true
options.normalizedCropRect = cropRect
options.resizeMode = .exact
let targetWidth = floor(CGFloat(asset.pixelWidth) * cropRect.width)
let targetHeight = floor(CGFloat(asset.pixelHeight) * cropRect.height)
let dimensionW = max(min(targetHeight, targetWidth), 1024 * UIScreen.main.scale)
let dimensionH = dimensionW * self.getCropHeightRatio()
let targetSize = CGSize(width: dimensionW, height: dimensionH)
PHImageManager.default().requestImage(for: asset, targetSize: targetSize, contentMode: .aspectFill, options: options) { result, info in
guard let result = result else { return }
DispatchQueue.main.async(execute: {
completion(asset, result)
})
}
})
}
private func fusumaDidFinishInMultipleMode() {
guard let view = albumView.imageCropView else { return }
let normalizedX = view.contentOffset.x / view.contentSize.width
let normalizedY = view.contentOffset.y / view.contentSize.height
let normalizedWidth = view.frame.width / view.contentSize.width
let normalizedHeight = view.frame.height / view.contentSize.height
let cropRect = CGRect(x: normalizedX,
y: normalizedY,
width: normalizedWidth,
height: normalizedHeight)
var images = [UIImage]()
var metaData = [ImageMetadata]()
for asset in albumView.selectedAssets {
requestImage(with: asset, cropRect: cropRect) { asset, result in
images.append(result)
metaData.append(self.getMetaData(asset: asset))
if asset == self.albumView.selectedAssets.last {
self.doDismiss {
self.delegate?.fusumaMultipleImageSelected(images, source: self.mode, metaData: metaData)
}
}
}
}
}
requestImage(...) 函数返回不正确的图像大小
最佳答案
文档说 PHImageManager
可能会多次调用 requestImage
完成,最终调用应该有一个具有请求的 targetSize
的图像。
关于ios 13 PHImageManager.default().requestImage 和 Fusuma,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58213670/
我有一组图片资源。我必须将这些 Assets 转换为图像,将它们添加到数组并将它们上传到 Firebase 数据库。我有两个问题。 问题 1: 在自定义 UICollectionViewCell 中,
当调用此方法时,我的应用程序因错误 Thread 1: EXC_BAD_INSTRUCTION 而崩溃: imageManager.requestImage(for: asset!, targetSi
我有一个带有自定义 UICollectionViewCell 的 UICollectionView,它应该从照片中获取并显示缩略图(低质量)照片(通常用户可以选择多于 1 张照片)在单元格中的每个 U
当我尝试获取具有特定尺寸的图像时,PHImageManager.default().requestImage 被调用两次,并使用不同尺寸的图像。 代码如下: static func load(from
我正在尝试实现一个简单的 PxImageProvider。源图像是静态的,我只提供一张图像。似乎 requestedSize 总是空的。即使我尝试在 QML 端修改图像大小时,图像也会重新缩放,但看起
我有一个 Collection View ,其中显示所有用户的照片。基本的东西,一个数据源,它获取 PHAssets 并在 PHCachingImageManager 上使用 requestImage
我在我的项目中使用 Fusuma pod,但在最新的 iOS 13 中,存在一个与从图库中选择的图像相关的错误。 确切地说,如果选择的图像来自图库(在带有 ios 13 的 iPhone 设备上,而不
我是一名优秀的程序员,十分优秀!