修复:

1.让图片转码能够成功的获取到文件名称,在相关联页面传递phasset资源;
2.修改图片、视频转码页面的视图背景颜色为clear
This commit is contained in:
bluesea 2024-03-07 11:18:19 +08:00
parent b5ebe769f1
commit ed3bb0f1d8
6 changed files with 43 additions and 21 deletions

View File

@ -311,11 +311,12 @@ class CCHomeController: BaseController, LLCycleScrollViewDelegate {
view.show()
//
view.selectedImageHandler = { [self] data in
view.selectedImageHandler = { [self] data,asset in
print("回调")
let vc = CCSpatialPhotoDisplayController()
vc.photoOriginalData = data
vc.imageAsset = asset
self.navigationController?.pushViewController(vc, animated: true)
}
//
@ -408,8 +409,8 @@ extension CCHomeController: TZImagePickerControllerDelegate,UINavigationControll
//
spaceAlbumPopView.selectedImageHandler = { [self] data in
gotoPhotoTransformVC(data: data, url: nil)
spaceAlbumPopView.selectedImageHandler = { [self] data,asset in
gotoPhotoTransformVC(data: data, url: nil,asset: asset)
}
//
spaceAlbumPopView.selectedVideoHandler = { [self] url in
@ -419,10 +420,11 @@ extension CCHomeController: TZImagePickerControllerDelegate,UINavigationControll
}
func gotoPhotoTransformVC(data:Data?,url:URL?) {
func gotoPhotoTransformVC(data:Data?,url:URL?,asset:PHAsset?) {
let vc = VRPhotoTransformController()
vc.sourceImageData = data
vc.sourceImageURL = url
vc.imageAsset = asset
self.navigationController?.pushViewController(vc, animated: true)
}
@ -484,7 +486,7 @@ extension CCHomeController: TZImagePickerControllerDelegate,UINavigationControll
print("选择图片 Selected iamge URL: \(String(describing: imageUrl))")
//PHAsset
// let phAsset : PHAsset = info[UIImagePickerController.InfoKey.phAsset] as! PHAsset
gotoPhotoTransformVC(data: nil, url: imageUrl)
gotoPhotoTransformVC(data: nil, url: imageUrl,asset: info[.phAsset] as? PHAsset)
break
case "public.movie":

View File

@ -30,7 +30,7 @@ class CCSpatialPhotoDisplayController: BaseController {
//
var photoOriginalURL:URL?
var photoOriginalData:Data?
var imageAsset:PHAsset?
var imgData:Data?
//
@ -199,6 +199,7 @@ class CCSpatialPhotoDisplayController: BaseController {
//
let transVC = VRPhotoTransformController()
transVC.sourceImageData = photoOriginalData
transVC.imageAsset = imageAsset
self.navigationController?.pushViewController(transVC, animated: true)
}else if sender.tag == 202 {
//

View File

@ -519,11 +519,13 @@ class CCSpatialShootController: BaseController {
spaceAlbumPopView.show()
//
spaceAlbumPopView.selectedImageHandler = { [self] data in
spaceAlbumPopView.selectedImageHandler = { [self] data,asset in
print("回调")
let vc = CCSpatialPhotoDisplayController()
vc.photoOriginalData = data
vc.imageAsset = asset
self.navigationController?.pushViewController(vc, animated: true)
}
//

View File

@ -8,13 +8,13 @@
import UIKit
import DeviceKit
import SVProgressHUD
import Photos
class VRPhotoTransformController: BaseController {
// var heroAsset1:AVAsset?
var sourceImageData:Data?
var imageAsset:PHAsset?
var sourceImageURL:URL?
var outputImageURL:URL?
@ -54,11 +54,11 @@ class VRPhotoTransformController: BaseController {
mImgView = UIImageView()
mImgView?.frame = CGRect(x: 24, y: Int(SafeAreaTop_Height) + 24, width: Int(SCREEN_Width) - 48, height: (Int(SCREEN_Width) - 48) * 200/345)
self.view.addSubview(mImgView!)
mImgView?.backgroundColor = UIColor.hexStringToColor(hexString: "#666666")
// mImgView?.backgroundColor = UIColor.hexStringToColor(hexString: "#666666")
mImgView!.clipsToBounds = true
mImgView!.layer.cornerRadius = 8
mImgView!.contentMode = .scaleAspectFit
mImgView!.backgroundColor = UIColor.clear
outputImageURL = URL.documentsDirectory.appending(path:"output11114.jpg")
if (sourceImageURL != nil) {
@ -92,7 +92,15 @@ class VRPhotoTransformController: BaseController {
let imgSize:Int = sourceImageData?.count ?? 0
// size
let imgMbSize = Double(imgSize) / 1024 / 1024
let imgTitle = sourceImageURL?.pathComponents.last ?? "xx"
mBottomBtn = UIButton.init(type: UIButton.ButtonType.custom)
self.view.addSubview(mBottomBtn!)
mBottomBtn!.backgroundColor = UIColor.hexStringToColor(hexString: "#5326D6")
@ -116,25 +124,32 @@ class VRPhotoTransformController: BaseController {
mCenView?.backgroundColor = UIColor.colorWithRGB(_r: 18, _g: 7, _b: 68)
mCenLab1 = UILabel()
mCenLab1!.bounds = CGRect(x: 0, y: 0, width: 100, height: 0)
mCenLab1!.bounds = CGRect(x: 0, y: 0, width: 200, height: 0)
mCenLab1!.textColor = UIColor.hexStringToColor(hexString: "#ffffff")
mCenLab1!.font = UIFont.systemFont(ofSize: 14)
mCenView!.addSubview(mCenLab1!)
mCenLab1!.text = "20240121020131292.MOV"
mCenLab1!.text = "--"
mCenLab1!.sizeToFit()
if(mCenLab1!.width > mCenView!.width - 140){
mCenLab1!.width = mCenView!.width - 140
}
mCenLab1!.top = 12
mCenLab1!.left = 16
imageAsset?.requestContentEditingInput(with: nil) { [self] (contentEditingInput, info) in
guard let contentEditingInput = contentEditingInput else {
return
}
let fileName = contentEditingInput.fullSizeImageURL?.lastPathComponent
mCenLab1!.text = fileName
mCenLab1!.sizeToFit()
}
mCenLab2 = UILabel()
mCenLab2!.bounds = CGRect(x: 0, y: 0, width: 100, height: 0)
mCenLab2!.textColor = UIColor.hexStringToColor(hexString: "#67617A")
mCenLab2!.font = UIFont.systemFont(ofSize: 12)
mCenView!.addSubview(mCenLab2!)
mCenLab2!.text = "\(imgWidth) x \(imgHeight) · \(imgMbSize)"
mCenLab2!.text = String(format: "%.f x %.f · %.1f MB",imgWidth,imgHeight,imgMbSize)
mCenLab2!.sizeToFit()
if(mCenLab2!.width > mCenView!.width - 140){

View File

@ -101,7 +101,8 @@ class VRVideoTransformController: BaseController {
mAvPlayer?.view.frame = CGRect(x: 24, y: Int(SafeAreaTop_Height) + 24, width: Int(SCREEN_Width) - 48, height: (Int(SCREEN_Width) - 48) * 200/345)
self.addChild(mAvPlayer!)
self.view.addSubview(mAvPlayer!.view)
mAvPlayer?.view.backgroundColor = UIColor.hexStringToColor(hexString: "#666666")
// mAvPlayer?.view.backgroundColor = UIColor.hexStringToColor(hexString: "#666666")
mAvPlayer?.view.backgroundColor = UIColor.clear
mAvPlayer!.view.clipsToBounds = true
mAvPlayer!.view.layer.cornerRadius = 8

View File

@ -30,7 +30,7 @@ class CCSpaceAlbumFliterPopView: UIView {
var fetchResult: PHFetchResult<PHAsset>!
var photos: [UIImage] = []
var selectedImageHandler: ((Data) -> Void)?
var selectedImageHandler: ((Data,PHAsset) -> Void)?
var selectedVideoHandler: ((URL) -> Void)?
lazy var menuView: CCPopMenuView = {
@ -494,17 +494,18 @@ extension CCSpaceAlbumFliterPopView:UICollectionViewDataSource, UICollectionView
if asset.mediaType == .image {
//
let imageData = self.getImageData(for: asset)
//
if Thread.isMainThread {
self.hide()
if let imageData = imageData {
self.selectedImageHandler?(imageData)
self.selectedImageHandler?(imageData,asset)
}
}else{
DispatchQueue.main.async {
self.hide()
if let imageData = imageData {
self.selectedImageHandler?(imageData)
self.selectedImageHandler?(imageData,asset)
}
}
}