Iphone 设置图形上下文以显示UIImage(Obj-C)
我试图在Objective-C中呈现一个UIImage,使用一个简单的iPhone应用程序突破类型来适应环境。但是,我在尝试绘制时遇到了一个错误:CGContextDrawImage:invalid context错误 我的问题是:如何设置UIImage的DrawAtPoint方法使用的上下文 下面是我如何初始化/调用所有内容的相关代码:Iphone 设置图形上下文以显示UIImage(Obj-C),iphone,objective-c,uiimage,graphicscontext,Iphone,Objective C,Uiimage,Graphicscontext,我试图在Objective-C中呈现一个UIImage,使用一个简单的iPhone应用程序突破类型来适应环境。但是,我在尝试绘制时遇到了一个错误:CGContextDrawImage:invalid context错误 我的问题是:如何设置UIImage的DrawAtPoint方法使用的上下文 下面是我如何初始化/调用所有内容的相关代码: @interface GameItem : NSObject { IBOutlet UIImage * sprite; CGPoint
@interface GameItem : NSObject
{
IBOutlet UIImage * sprite;
CGPoint pos;
}
- (id) initWithPositionAndSprite: (CGPoint)placementPosition :(UIImage*) blockImage;
- (void) update;
@property CGPoint pos;
@end
更新中:
[sprite drawAtPoint:pos];
并将其初始化为:
newBall = [[Ball alloc] initWithPositionAndSprite:CGPointMake(3.0, 4.0) :[UIImage imageNamed:@"ball.png"]];
球继承自GameItem,现在还没有做任何不同的事情
我从drawAtPoint调用afaik获取无效上下文。如有任何能解释如何设置上下文的帮助/指示,将不胜感激
谢谢 尝试在UIGraphicsBeginImageContext和UIGraphicsSendImageContext中包装调用。尝试在UIGraphicsBeginImageContext和UIGraphicsSendImageContext中包装调用。如果要将调用绘制到屏幕上,则需要在UIView的-drawRect:方法或CALayer的-DrawInText:方法中找到绘图代码。要更新其内容,需要在UIView或CALayer上调用-setNeedsDisplay。在任何其他时间尝试绘图都会导致出现无效的上下文错误。如果要将其绘制到屏幕上,则需要在UIView的-drawRect:方法或CALayer的-DrawInText:方法中找到绘图代码。要更新其内容,需要在UIView或CALayer上调用-setNeedsDisplay。在任何其他时间尝试绘图都会导致出现无效的上下文错误。并使用UIGraphicsGetCurrentContext作为解决错误的上下文,但它仍然不会显示在屏幕上。draw方法现在如下所示:UIGraphicsBeginImageContextsprite.size;[雪碧提取点:位置];UID图像上下文;我不确定我需要传递什么到UIGraphicsBeginImageContext中,尽管我发现的其他示例只是传递了图像大小。另外,@nathanjosiah:我不确定这样获取上下文对我有什么好处,因为它不是任何UIImage draw方法的参数,我可以找到我应该用它做什么?谢谢:-并使用UIGraphicsGetCurrentContext作为解决错误的上下文,但它仍然没有显示在屏幕上。draw方法现在如下所示:UIGraphicsBeginImageContextsprite.size;[雪碧提取点:位置];UID图像上下文;我不确定我需要传递什么到UIGraphicsBeginImageContext中,尽管我发现的其他示例只是传递了图像大小。另外,@nathanjosiah:我不确定这样获取上下文对我有什么好处,因为它不是任何UIImage draw方法的参数,我可以找到我应该用它做什么?谢谢:-使用以rect为参数的构造函数创建对象,或在绘制任何对象之前创建对象帧rect。使用以rect为参数的构造函数创建对象,或在绘制任何对象之前创建对象帧rect。