【发布时间】:2012-08-21 22:23:43
【问题描述】:
我有一张图片,我正在裁剪其中的一部分。问题是在模拟器中它显示正确,但在设备上它放大了很多。这有很大的不同。我究竟做错了什么? (第一张图片来自模拟器,第二张来自 iphone 设备)
// create bounds and initialise default image
CGRect imageSizeRectangle = CGRectMake(0, 0, 300, 300);
UIImage *df_Image = [UIImage imageNamed:@"no_selection.png"];
self.imageView = [[UIImageView alloc] initWithFrame:imageSizeRectangle];
[imageView setImage:df_Image];
[self.view addSubview:imageView];
//crop image
CGRect test = CGRectMake(0, 0, 150,150);
CGImageRef imageRef = CGImageCreateWithImageInRect([photo.image CGImage], test);
UIImage *croppedImage = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
【问题讨论】:
-
你的iPhone模拟器设置为
iPhone (Retina)了吗?你可以签到Hardware->Device -
刚刚检查过,没有,它是在 iphone 上设置的
-
您是在 iPhone 4/4S 上进行测试吗?如果是这样,请将您的模拟器设置为视网膜,看看它们的行为是否不同。
-
刚刚检查过,如果我在 iphone 模拟器上打开视网膜显示,我会得到与我的设备上相同的结果。是否可以关闭 iPhone 上的视网膜显示?或者我该如何解决这个问题?
-
我发布了一个答案,希望它会有所帮助。
标签: objective-c ios xcode uiimageview uiimage