个人记录---截屏方法

方法一:

- (UIImage*)capture
{

UIGraphicsBeginImageContextWithOptions(self.frame.size,NO, [UIScreenmainScreen].scale);

[selfdrawViewHierarchyInRect:CGRectMake(0,0,self.frame.size.width,self.frame.size.height)afterScreenUpdates:YES];

UIImage*image =UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

returnimage;

}

方法二:

- (UIImage*)getImage {

UIGraphicsBeginImageContextWithOptions(CGSizeMake(self.frame.size.width,self.frame.size.height),NO,1.0);//NO,YES控制是否透明

[self.layerrenderInContext:UIGraphicsGetCurrentContext()];

UIImage*image =UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

//生成后的image

return[selfgetImageFromImage:image];

}
//根据给定得图片,从其指定区域截取一张新得图片

-(UIImage*)getImageFromImage:(UIImage*)bigImage

{

//大图bigImage

//定义myImageRect,截图的区域

CGRectmyImageRect =CGRectMake(floatIntervalW+1,floatY+1,floatW-2,floatW-2);

CGImageRefimageRef = bigImage.CGImage;

CGImageRefsubImageRef =CGImageCreateWithImageInRect(imageRef, myImageRect);

CGSizesize;

size.width=floatW-2;

size.height=floatW-2;

UIGraphicsBeginImageContext(size);

CGContextRefcontext =UIGraphicsGetCurrentContext();

CGContextDrawImage(context, myImageRect, subImageRef);

UIImage* smallImage = [UIImageimageWithCGImage:subImageRef];

UIGraphicsEndImageContext();

returnsmallImage;

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 情绪像感冒一样具有传染性,不管是好情绪还是坏情绪,是在生活中还是在工作中,情绪会通过一个人的姿态、表情、语言、行动...
    漫星辰阅读 4,361评论 0 1
  • 暴风雨两天之后自己的脑袋空空的。听得太多只会把自己带进去出不来。学习学习,不断坚持建议,成功就是每天进步一厘米!!!
    gxxp阅读 1,072评论 0 0
  • 那些年,我在读博中明白的五点道理 当你穿过25岁这扇门后,生命中能够静下心来做自己喜欢的事情的时间越来越少。相对地...
    无声鸟阅读 3,012评论 0 0
  • 上午我们去的世博园,主要目的是导游带着买东西,翡翠啥的。买不起就当欣赏了。没买东西虽然导游没有像新闻里那么不好,但...
    巨蟹0707阅读 2,854评论 0 0

友情链接更多精彩内容