0
這裏是我的測試代碼:雙圖像大小時轉換一個的UIImage到CIImage
- (void)viewDidLoad {
[super viewDidLoad];
self.uiImage = [self imageFromView:self.view];
NSLog(@"Test1: uiImage.size = %@", NSStringFromCGSize(self.uiImage.size));
self.ciImage = [[CIImage alloc] initWithCGImage:self.uiImage.CGImage];
NSLog(@"Test1: ciImage.extent = %@", NSStringFromCGRect(self.ciImage.extent));
self.uiImage = [UIImage imageNamed:@"test.jpg"];
NSLog(@"Test2: uiImage.size = %@", NSStringFromCGSize(self.uiImage.size));
self.ciImage = [[CIImage alloc] initWithCGImage:self.uiImage.CGImage];
NSLog(@"Test2: ciImage.extent = %@", NSStringFromCGRect(self.ciImage.extent));
}
-(UIImage*)imageFromView:(UIView *)view
{
UIGraphicsBeginImageContextWithOptions(view.frame.size, NO, 0.0);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage* image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
,我得到下面的輸出:
Test1: uiImage.size = {768, 1024}
Test1: ciImage.extent = {{0, 0}, {1536, 2048}}
Test2: uiImage.size = {400, 400}
Test2: ciImage.extent = {{0, 0}, {400, 400}}
我找不到爲什麼圖像尺寸的一倍測試1。我該如何解決它?
由於規模(視網膜)?同樣在'[UIImage imageNamed:@「test.jpg」];',它是否總是返回尺寸爲400 * 400的圖像?你使用@ 2x/Assets? – Larme
我沒有使用@ 2x。我只需右鍵單擊 - >將文件添加到我的項目 – hoangdado