1

これが私が作成する方法UIImageです。piOutDatacallocで割り当てました。最後に電話CGImageReleaseすると、自動的に解放されますpiOutDataか、それとも無料で手動で行う必要がありますか。

int m_iH = iInMaxDim;
int m_iW = iInMaxDim;

UInt8*piOutData = calloc(iInMaxDim *iInMaxDim*4,sizeof(UInt8));
CGContextRef ctx = CGBitmapContextCreate(piOutData,  
                                         m_iW,  
                                         m_iH,  
                                             CGImageGetBitsPerComponent(inImage.CGImage),
                                         m_iW*4,  
                                         CGImageGetColorSpace(inImage.CGImage),  
                                         CGImageGetBitmapInfo(inImage.CGImage) 
                                         ); 
CGImageRef imageRef = CGBitmapContextCreateImage(ctx);  
CGContextRelease(ctx);
UIImage *finalImage = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
4

1 に答える 1

1

…最後に CGImageRelease を呼び出すと、自動的に piOutData が解放されますか?

No.piOutDataはあなたの所有物です。

于 2012-10-26T15:21:35.363 に答える