2013-06-30 9 views
6

私はCore Imageフレームワークで遊んでいます。私が理解しているように、イメージ(NSImage)がある場合は、CIImageに変換する必要があります。私はそれを行うことができます。CSImageをNSImageに変換する

NSImage *im1 = [[NSImage alloc] initWithContentsOfFile:imagepath]; 
NSRect rect1;rect1.size.width = img1.size.width; rect1.size.height = img1.size.height; 
CGImageRef imageRef1 = [img1 CGImageForProposedRect:&rect1 context:[NSGraphicsContext currentContext] hints:nil]; 
CIImage *ciimage = [CIImage imageWithCGImage:imageRef1]; 

私がテストしたいコア・イメージ(CIImage)、にコアイメージフィルタを適用する機能を持っています。そして、出力イメージをサブビューとしてウィンドウに追加したいと思います。だから私はNSImageが必要です。どのようにしてこのコアイメージをNSImageに変換できますか?私がGoogleに頼むと、私は良い結果を得られません。

ありがとうございました。

+0

の提案は、それが少し簡単にするためにCGImageRef imageRef1 = [img1 CGImageForProposedRect:nilコンテキスト:nilヒント:nil]; –

答えて

21

私はそれをテストしていませんが、私は、これはそれを行うべきだと思う:スウィフトで

CIImage *ciImage = ...; 

NSCIImageRep *rep = [NSCIImageRep imageRepWithCIImage:ciImage]; 
NSImage *nsImage = [[NSImage alloc] initWithSize:rep.size]; 
[nsImage addRepresentation:rep]; 
8

:ライン2を削除し、行を置き換える:

var rep: NSCIImageRep = NSCIImageRep(ciImage: gaussianBlurFilter.outputImage) 
var nsImage: NSImage = NSImage(size: rep.size) 
nsImage.addRepresentation(rep) 
関連する問題