帮助捕获屏幕

时间:2010-11-09 04:08:14

标签: iphone iphone-sdk-3.0

我想以横向模式拍摄截图。

目前我的下面的代码以PORTRAIT模式截取屏幕截图。

我也希望将图像存储到不在照片库中的给定位置..

我怎样才能达到这个目标......

感谢您的帮助

下面是我的代码

UIGraphicsBeginImageContext(self.view.bounds.size) ;
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, self, nil, nil); 

1 个答案:

答案 0 :(得分:1)

据我所知,无法在横向模式下截屏。使用iPhone拍摄的图像包含一个名为imageOrientation的信息,然后用于旋转显示该图像的UIImageView。

但是您应该能够以纵向模式拍摄图像并将其旋转90度,然后再进行保存。我现在无法尝试,但以下情况应该有效:

创建一个旋转方法并将UIImage作为参数传递。

CGSize size =  sizeOfImage;
 UIGraphicsBeginImageContext(size);

 CGContextRotateCTM(ctx, angleInRadians); // (M_PI/2) or (3M_PI/2) depending on left/right rotation

 CGContextDrawImage(UIGraphicsGetCurrentContext(),
  CGRectMake(0,0,size.width, size.height),
  image);

 UIImage *copy = UIGraphicsGetImageFromCurrentImageContext();

 UIGraphicsEndImageContext();

 return copy;

要存储到指定位置,您可以使用NSData,因为我已回答您的其他问题(Saving images to a given location