我用這github上的圖像栽跟頭:https://github.com/iosdeveloper/ImageCropperCGImageCreateWithImageInRect不正確的區域?
在此圖像中栽跟頭,在init方法,他們有這些行:
CGRect rect;
rect.size.width = image.size.width;
rect.size.height = image.size.height;
[imageView setFrame:rect];
在此之前,我將圖像尺寸調整到屏幕分辨率不得分。所以如果我把代碼放在上面的方式,我的UIImage不會填充UIImageView出於某種奇怪的原因,我也試圖調整contentModes。
但是,如果我把它調整到這個(在UIPopover該圖像種植者是大小):
[imageView setFrame:CGRectMake(0, 0, 320, 480)];
的UIImage的將填補UIPopover。
真正的問題是在這裏: 如果我放大圖像的某一部分,並執行下面的代碼,它會採取UIImage的左上部分的截圖沒有在附近給我隨之而來,其中圖像。儘管它遵守scrollView的zoomScale。
下面是截圖代碼:
- (void)finishCropping {
float zoomScale = 1.0/[scrollView zoomScale];
CGRect rect;
rect.origin.x = [scrollView contentOffset].x * zoomScale;
rect.origin.y = [scrollView contentOffset].y * zoomScale;
rect.size.width = [scrollView bounds].size.width * zoomScale;
rect.size.height = [scrollView bounds].size.height * zoomScale;
CGImageRef cr = CGImageCreateWithImageInRect([[imageView image] CGImage], rect);
UIImage *cropped = [UIImage imageWithCGImage:cr];
CGImageRelease(cr);
[delegate imageCropper:self didFinishCroppingWithImage:cropped];
}
有誰知道爲什麼發生這種情況?
謝謝!