好的,所以我正在拍摄我用相机拍摄的照片。我将相机照片放入UIImageView并使用这种代码获取它的截图(这来自http://www.skylarcantu.com/blog/2009/10/16/saving-a-view-as-an-image/)......
- (void)takeScreenshot {
UIWindow *theScreen = [[UIApplication sharedApplication].windows objectAtIndex:0];
UIGraphicsBeginImageContext(theScreen.frame.size);
[[theScreen layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[self doSomethingWith:screenshot];
}
我按照自己的意愿工作,但屏幕截图的图像质量比我用相机拍摄的图像差得多。有办法克服这个问题吗?我想这是因为这需要截图来捕捉iPhone屏幕的分辨率,而不是相机的分辨率 - 也许?!
任何建议都会很棒: - )
答案 0 :(得分:1)
你说得对。屏幕分辨率(320 x 480)远小于相机(3G上为1200 x 1600,3GS上为1536 x 2048),因此您的UIImageView必须为320x480,并自动对您的图像进行下采样以适应。这看起来很复杂 - 你已经将照片作为更高分辨率的UIImage - 你试图将东西叠加到它上面吗?