代码,多次运行后,CGImageCreateWithImageInRect会出现错误
-(void)drawCard:(CGContextRef)context card:(Card *)card Point:(CGPoint)location
{
location =CGPointMake(location.x, location.y+38);
//card 41*60
//digit 10*14
VirtualCard *virtualCard =[[VirtualCard alloc] initWithID:[card getCardId] size:0];
CGImageRef cardbg = CGImageCreateWithImageInRect(cards ,CGRectMake([virtualCard getCardSuitFrameW] * [card getSuit] , 0, CGImageGetWidth(cards)/5, CGImageGetHeight(cards)));
CGContextDrawImage(context,CGRectMake(location.x, location.y ,[virtualCard getCardSuitFrameW] , [virtualCard getCardSuitFrameH]),cardbg);
if (cardbg != NULL) {
CFRelease(cardbg);
}
CGImageRef digit = CGImageCreateWithImageInRect(digits,CGRectMake([virtualCard getDigitFrameX_px], [virtualCard getDigitFrameY_px], 10, 14));
CGContextDrawImage(context,CGRectMake(location.x + 2, location.y-3+60-14, 10, 14), digit);
if (digit != NULL) {
CFRelease(digit);;
}
[virtualCard autorelease];
}
