我試圖將UIView
的區域剪切爲UIImage
以備後用。來自UIView區域的UIImage
我從一些片段摸索出這樣的代碼:
CGRect _frameIWant = CGRectMake(100, 100, 100, 100);
UIGraphicsBeginImageContext(view.frame.size);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
//STEP A: GET AN IMAGE FOR THE FULL FRAME
UIImage *_fullFrame = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
//STEP B: CLIP THE IMAGE
CGImageRef _regionImage = CGImageCreateWithImageInRect([_fullFrame CGImage], _frameIWant);
UIImage *_finalImage = [UIImage imageWithCGImage:_regionImage];
CGImageRelease(_regionImage);
「視圖」是我削波和_finalImage
是UIImage
我想要的UIView
。
該代碼工作沒有問題,但是有點慢。我相信通過直接在步驟A中取得部分屏幕可以獲得一些性能。
我正在尋找類似renderInContext: withRect:
或UIGraphicsGetImageFromCurrentImageContextWithRect()
的東西呵呵。
仍然沒有發現任何東西:(,請幫助我,如果你知道一些替代的
你能重新格式化嗎?難以閱讀 – Rudiger 2010-10-12 20:49:34