- // 从view上截图
- - (UIImage *)getImage {
- UIGraphicsBeginImageContextWithOptions(CGSizeMake(150, 150), NO, 1.0); //NO,YES 控制是否透明
- [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
- UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- // 生成后的image
- return image;
- }
- // 根据给定得图片,从其指定区域截取一张新得图片
- -(UIImage *)getImageFromImage{
- //大图bigImage
- //定义myImageRect,截图的区域
- CGRect myImageRect = CGRectMake(70, 10, 150, 150);
- UIImage* bigImage= [UIImage imageNamed:@"mm.jpg"];
- CGImageRef imageRef = bigImage.CGImage;
- CGImageRef subImageRef = CGImageCreateWithImageInRect(imageRef, myImageRect);
- CGSize size;
- size.width = 150;
- size.height = 150;
- UIGraphicsBeginImageContext(size);
- CGContextRef context = UIGraphicsGetCurrentContext();
- CGContextDrawImage(context, myImageRect, subImageRef);
- UIImage* smallImage = [UIImage imageWithCGImage:subImageRef];
- UIGraphicsEndImageContext();
- return smallImage;
- }
- //在自定义view上截图
-
- (void)drawRect:(CGRect)rect {
CGContextRef ctx=UIGraphicsGetCurrentContext();
//可以截取不同的形状根据下面画的图形而定
CGContextAddRect(ctx, CGRectMake(100, 0, 375 - 100, 667));
CGContextClip(ctx);
CGContextFillPath(ctx);
UIImage *image = [UIImage imageNamed:@"up.jpg"];
// UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 375, 667)];
// imageView.image = image;
// [self addSubview:imageView];
[image drawAtPoint:CGPointMake(0, 0)];
}
iOS 屏幕截图
最新推荐文章于 2024-11-01 16:50:05 发布