2011-08-10 10 views
8

でCIAffineTransformためinputTransformを設定しない、私はこの答えのためにしばらくの間、周りを探してきたが、何も見つかっていません。私はCIAffineTransformをiOS 5 Betaのものと使いたいと思っていて、問題を見つけました。ドキュメントには、NSAffineTransformを受け入れる 'inputTransform'プロパティがありますが、私が知る限り、iOSでこれらのインスタンスをインスタンス化する方法はありません。この特定のクラスはMacOS用です私が間違っている場合)。がどのようにiOSの5

場合厥、その後、どのような値私はinputTransformに入れないと?

は、ここで私が達成しようとしているかを説明するためにいくつかの簡単なコードです。

CIImage* result = "Some CIImage"; 


CIFilter* filter = [CIFilter filterWithName:@"CIAffineTransform"]; 
[filter setValue:result forKey:kCIInputImageKey]; 

[filter setValue:transform forKey:@"inputTransform"]; //What type/class of value do I set here if I can't use an NSAffineTransform 

result = [filter outputImage]; 

ご協力いただけると幸いです。

答えて

21

解決策が見つかりました。私は単に間違った場所を探していました。

代わりCIImageにCIAffineTransformフィルタを使用する、CIImageが実際と呼ばれる方法を提供する:

​​

この方法はCGAffineTransform引数がそれに適用された画像を返します。 Core Image Filter Referenceパー誰か:)

+0

ありがとう、これは2年後にも役立ちます。私はCIAffineTransformを[NSValue valueWithBytes:&xform objCType:@encode(CGAffineTransform)]または[NSValue valueWithCGAffineTransform:xform]と一緒に使用すると、なぜ私のフィルタがnilを吐くのか不思議です。 – CodePlumber

+0

これは非常に便利ですが、iOS 7以降をサポートしている場合は、@ Wyam Jockuschのソリューションを使用する必要があります。 –

1

を助け

希望。

CGAffineTransform xForm = whatever; 
[myFilter setValue:[NSValue valueWithBytes:&xForm objCType:@encode(CGAffineTransform)] forKey:@"inputTransform"]; 
関連する問題