簡體   English   中英

在 iOS 10 上從 CIImage 創建 UIImage

[英]Create UIImage from CIImage on iOS 10

我試圖為 iOS10 重建一個鈦模塊( https://github.com/Exygy/Titanium-Ti.Barcode

重建時,我收到以下錯誤並且構建失敗。

cannot initialize a variable of type 'UIImage *' with an rvalue of type
  'CIImage *'
UIImage *image = [blob image];
         ^       ~~~~~~~~~~~~

以下是生成它的代碼段:

id blob = [args valueForKey:@"image"];
ENSURE_TYPE(blob, TiBlob);
UIImage* image = [blob image];

我是 Objective C 的菜鳥。

您可以使用以下內容:

目標 C:

CIImage *ciImage = [blob image];
UIImage *uiImage = [[UIImage alloc] initWithCIImage:ciImage];

斯威夫特 4.0:

let ciImage: CIImage? = blob.image()
let uiImage = UIImage(ciImage: ciImage!)

斯威夫特 3.0

 func convertCIImagetoUIimage(cmage:CIImage) -> UIImage {
        let context:CIContext = CIContext.init(options: nil)
        let cgImage:CGImage = context.createCGImage(cmage, from: cmage.extent)!
        let image:UIImage = UIImage.init(cgImage: cgImage)
        return image
    }

試試這個方法:

CIContext *context = [CIContext contextWithOptions:nil];
CGImageRef cgImage = [context createCGImage:ciImage fromRect:[ciImage extent]];
UIImage* uiImage = [UIImage imageWithCGImage:cgImage];
CGImageRelease(cgImage);

CIImage 到 UIImage

斯威夫特 3.0

let uiImage = UIImage(CIImage: ciImage)

在 Swift 4.0

let ciImage: CIImage? = blob.image()
let uiImage = UIImage(ciImage: ciImage!)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM