0

UIViewサブクラスからCGImageを作成するにはどうすればよいですか?

renderInContext:UIGraphicsGetCurrentContext()を使用して、図面(drawRectメソッドによるコアグラフィックス)を含むビュー(UIViewのサブクラス)からCG画像を作成する必要がありますか?

ビューmyViewがあり、その中で描画を行っています。インポートした写真とのブレンドモードなど、作成した図面を使用して他のコアグラフィックス操作を実行したいので、想定しているmyViewからCGimageを取得する必要があります。CGImageプロパティが見つかりません(私の最初の推測)。調べてみると、以下の解決策が見つかりましたが、サブクラスが「セレクターrenderInContextを宣言していない」ため、エラーが発生します。

UIGraphicsBeginImageContext(myView.bounds.size);
[myView renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

CGImageRef cgImage = image.CGImage;
4

1 に答える 1

1

-renderInContext:のメソッドでCALayerあり、ではありませんUIView

代わりにこれを行ってください:

[myView.layer renderInContext:UIGraphicsGetCurrentContext()];

また、次のヘッダーをインポートする必要がありますCALayer

 #import <QuartzCore/QuartzCore.h>

そして、QuartzCoreフレームワークに対してアプリをリンクします。

于 2012-07-15T05:13:32.190 に答える