소스 검색

1.解决imageFilter崩溃问题

wenweiwei 3 년 전
부모
커밋
9153eae3ac
1개의 변경된 파일4개의 추가작업 그리고 9개의 파일을 삭제
  1. 4 9
      BFFramework/Classes/PQGPUImage/akfilters/PQImageFilter.swift

+ 4 - 9
BFFramework/Classes/PQGPUImage/akfilters/PQImageFilter.swift

@@ -33,19 +33,16 @@ open class PQImageFilter: PQBaseFilter {
 
         mSticker = sticker
         stickerInfo = sticker
-
         if mSticker!.locationPath.count == 0 {
             BFLog(2, message: "图片数据为空,创建失败")
             return
         }
 //        print("mSticker path : \(String(describing: mSticker!.locationPath))")
-
         newImage = UIImage(contentsOfFile: documensDirectory + sticker.locationPath)
         //try find image file frome in BFFramework bundle
         if(newImage == nil){
             newImage = UIImage.moduleImage(named: sticker.locationPath, moduleName: "BFFramework",isAssets: false)
         }
-
         // 如果是预览时 对原图进行缩放处理
         if !isExport {
             let maxLength = max(showUISize.width, showUISize.height)
@@ -77,15 +74,13 @@ open class PQImageFilter: PQBaseFilter {
         
         
         // 保证是16的公倍数
-        let aptImageSize =  NXAVUtil.aptSize(newImage!.size)
-        if (!__CGSizeEqualToSize(aptImageSize, newImage!.size))
+        let aptImageSize =  NXAVUtil.aptSize(newImage?.size ?? CGSize.zero)
+        if (!__CGSizeEqualToSize(aptImageSize, (newImage?.size ?? CGSize.zero)))
         {
-            BFLog(2, message: "原图大小宽度不是16的倍数 \(newImage!.size)")
+            BFLog(2, message: "原图大小宽度不是16的倍数 \(newImage?.size ?? CGSize.zero)")
             newImage = newImage?.nx_scaleToSize(size: aptImageSize)
-            BFLog(2, message: "归16后大小 \(newImage!.size)")
-
+            BFLog(2, message: "归16后大小 \(newImage?.size ?? CGSize.zero)")
         }
-
     }
 
 //    override public func newFramebufferAvailable(_ framebuffer: Framebuffer, fromSourceIndex: UInt) {