何が欠けていますか? drawRectが予想通りに描画され、getTheImage()がviewcontollerから呼び出され、UIGraphicsGetImageFromCurrentImageContext()はnilを返します。多くのバリエーションを試しました。 何か助けていただければ幸いです。IOS Quartz2Dは現在のコンテキストからイメージを取得できません
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
}
return self;
}
- (void)drawRect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
UIGraphicsBeginImageContext(self.bounds.size);
CGContextSetLineWidth(context, 5.0);
CGContextSetStrokeColorWithColor(context, [[UIColor blackColor]CGColor]);
CGContextMoveToPoint(context,100.0,100.0);
CGContextAddLineToPoint(context,200.0,200.0);
CGContextMoveToPoint(context,200.0,200.0);
CGContextAddLineToPoint(context,200.0,400.0);
CGContextStrokePath(context);
}
-(UIImage *)getTheImage
{
UIImage *drawImage = UIGraphicsGetImageFromCurrentImageContext();
NSLog(@"drawImage %@",drawImage);
return drawImage;
}
あなたの応答をありがとう、まだ動作していないUIGraphicsBeginImageContextは1つの引数を取るだけです。 –
UIGraphicsBeginImageContextをUIGraphicsBeginImageContextWithOptionsに変更しました。まだ行っていません。 –
UIGraphicsBeginImageContextWithOptionsに関するごめんなさい。このgetTheImageメソッドをどこから呼び出すことができますか?私はビューコントローラのviewWillAppearメソッドとviewDidAppearメソッドからこのメソッドを呼び出し、両方の場所から画像がなくなることはありません。 しかし、私がこのメソッドをviewDidLoadから呼び出すと、イメージはゼロになります。 ビューが完全にロードされた後にのみ、getTheImageメソッドを呼び出す必要があります。 –