美文网首页
UI知识小集

UI知识小集

作者: 笑熬齊澄 | 来源:发表于2018-01-02 11:32 被阅读10次

    1.屏幕截图

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

            // 1. 创建一个与控制器view一样大的图形上下文

            UIGraphicsBeginImageContextWithOptions(self.view.frame.size, NO, 0.0);

            // 1.1 获取当前上下文

            CGContextRef ctx = UIGraphicsGetCurrentContext();

            // 2. 把控制器的view中的内容渲染到上下文中

            [self.view.layer renderInContext:ctx];

            // 3. 从上下文中获取图片

            UIImage* img = UIGraphicsGetImageFromCurrentImageContext();

            // 4. 关闭上下文

            UIGraphicsEndImageContext();

            // 5. 把屏幕截图保存到相册

            UIImageWriteToSavedPhotosAlbum(img, nil, nil, nil);

        });

    2.图片加水印

       // 1. 加载原图

        UIImage* img = [UIImage imageNamed:@"imageName"];

        // 2. 根据原图的大小, 创建一个Bitmap的图形上下文

        UIGraphicsBeginImageContextWithOptions(img.size, NO, 0.0);

        // 3. 把原图绘制到上下文中

        [img drawAtPoint:CGPointZero];

        // 4. 绘制水印(水印文字、水印图片)

        // 4.1 绘制水印文字

        NSString* strMsg = @"水印文字";

        NSDictionary* attrs = @{

            NSFontAttributeName : [UIFont systemFontOfSize:25],

            NSForegroundColorAttributeName : [UIColor redColor]

        };

        [strMsg drawAtPoint:CGPointMake(30, 30) withAttributes:attrs];

        // 4.2 绘制图片水印

        // 4.2.1 加载水印图片

        UIImage* imgWatermark = [UIImage imageNamed:@"logo"];

        CGFloat margin = 20;

        CGFloat w = 200;

        CGFloat h = 80;

        CGFloat x = img.size.width - w - margin;

        CGFloat y = img.size.height - h - margin;

        [imgWatermark drawInRect:CGRectMake(x, y, w, h)];

        // 5. 从上下文中取出绘制好的图片

        UIImage* imgFinal = UIGraphicsGetImageFromCurrentImageContext();

        // 6. 关闭上下文

        UIGraphicsEndImageContext();

        // 7. 保存图片

        UIImageWriteToSavedPhotosAlbum(imgFinal, nil, nil, nil);

    相关文章

      网友评论

          本文标题:UI知识小集

          本文链接:https://www.haomeiwen.com/subject/xesfnxtx.html