zoukankan      html  css  js  c++  java
  • 保存图片至相册

        //创建图形上下文
        UIGraphicsBeginImageContext(CGSizeMake(200, 200));
        CGContextRef context = UIGraphicsGetCurrentContext();
        UIImage *image = [UIImage imageNamed:@"1.png"];
        [image drawInRect:CGRectMake(0, 0, 200, 200)];
        
        //添加水印
        NSString *str = @"我的图片";
        [str drawInRect:CGRectMake(10, 10, 20, 180) withAttributes:@{NSFontAttributeName:[UIFont boldSystemFontOfSize:16],NSForegroundColorAttributeName:[UIColor redColor]}];
        //从当前图形上下文获取图片(将当前图形上下文转成图片)
        UIImage *changeImage = UIGraphicsGetImageFromCurrentImageContext();
        //释放内存
        CGContextRelease(context);
        //释放内存
        UIGraphicsEndImageContext();
        
        NSLog(@"%f",UIImagePNGRepresentation(changeImage).length/1024.f);
        UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, changeImage.size.width, changeImage.size.height)];
        imageView.image = changeImage;
        [self.view addSubview:imageView];
        //保存到相册(需要传入回调方法,回调方法格式有要求)
        UIImageWriteToSavedPhotosAlbum(changeImage, self, @selector(image:error:contextInfo:), nil);
    
    - (void)image:(UIImage *)image error:(NSError *)error contextInfo:(CGContextRef)context
    {
        if (error) {
            NSLog(@"保存失败!");
        }
        else
        {
            NSLog(@"保存成功!");
        }
    }
  • 相关阅读:
    关于c:fakepath的解决办法
    golang channel 源码剖析
    深入虚拟内存(Virtual Memory,VM)
    浅析 golang module
    浅析 golang interface 实现原理
    Golang channel实现
    LCS(最长公共字序列)实现
    Golang令牌桶-频率限制
    OpenGL(3)-三角形
    OpenGL(2)-窗口
  • 原文地址:https://www.cnblogs.com/liaods/p/4805514.html
Copyright © 2011-2022 走看看