zoukankan      html  css  js  c++  java
  • 图片水印(微博图片上面的个人签名)

    - (void)viewDidLoad

    {

        [super viewDidLoad];

        

        // 1.返回水印图片

        UIImage *newImage = [UIImage waterImageWithBg:@"scene" logo:@"logo"];

        

        // 2.显示图片

        self.iconView.image = newImage;

    }

    - (void)testWater

    {

        UIImage *bgImage = [UIImage imageNamed:@"scene"];

        

        // 上小文 : 基于位图(bitmap) ,  所有的东西需要绘制到一张新的图片上去

        

        // 1.创建一个基于位图的上下文(开启一个基于位图的上下文)

        // size : 新图片的尺寸

        // opaque : YES : 不透明,  NO : 透明

        // 这行代码过后.就相当于常见一张新的bitmap,也就是新的UIImage对象

        UIGraphicsBeginImageContextWithOptions(bgImage.size, NO, 0.0);

        

        // 2.画背景

        [bgImage drawInRect:CGRectMake(0, 0, bgImage.size.width, bgImage.size.height)];

        

        // 3.画右下角的水印

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

        CGFloat scale = 0.2;

        CGFloat margin = 5;

        CGFloat waterW = waterImage.size.width * scale;

        CGFloat waterH = waterImage.size.height * scale;

        CGFloat waterX = bgImage.size.width - waterW - margin;

        CGFloat waterY = bgImage.size.height - waterH - margin;

        [waterImage drawInRect:CGRectMake(waterX, waterY, waterW, waterH)];

        

        // 4.从上下文中取得制作完毕的UIImage对象

        UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

        

        // 5.结束上下文

        UIGraphicsEndImageContext();

        

        // 6.显示到UIImageView

        self.iconView.image = newImage;

        

        // 7.将image对象压缩为PNG格式的二进制数据

        NSData *data = UIImagePNGRepresentation(newImage);

        //    UIImageJPEGRepresentation(<#UIImage *image#>, <#CGFloat compressionQuality#>)

        

        // 8.写入文件

        NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"new.png"];

        [data writeToFile:path atomically:YES];

        

    }

    给image添加一类目   

    /**

     *  打水印

     *返回带有水印的图片

     *  @param bg   背景图片

     *  @param logo 右下角的水印图片

     */

    + (instancetype)waterImageWithBg:(NSString *)bg logo:(NSString *)logo

    {

        UIImage *bgImage = [UIImage imageNamed:bg];

        

        // 1.创建一个基于位图的上下文(开启一个基于位图的上下文)

        UIGraphicsBeginImageContextWithOptions(bgImage.size, NO, 0.0);

        

        // 2.画背景

        [bgImage drawInRect:CGRectMake(0, 0, bgImage.size.width, bgImage.size.height)];

        

        // 3.画右下角的水印

        UIImage *waterImage = [UIImage imageNamed:logo];

        CGFloat scale = 0.2;

        CGFloat margin = 5;

        CGFloat waterW = waterImage.size.width * scale;

        CGFloat waterH = waterImage.size.height * scale;

        CGFloat waterX = bgImage.size.width - waterW - margin;

        CGFloat waterY = bgImage.size.height - waterH - margin;

        [waterImage drawInRect:CGRectMake(waterX, waterY, waterW, waterH)];

        

        // 4.从上下文中取得制作完毕的UIImage对象

        UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

        

        // 5.结束上下文

        UIGraphicsEndImageContext();

        

        return newImage;

    }

  • 相关阅读:
    Lost connection to MySQL server at 'waiting for initial communication packet', system error: 0
    Can't connect to MySQL server on '192.168.7.175' (10060)
    单精度浮点数(float)加法计算出错
    当前不会命中断点 还没有为该文档加载任何符号
    64位程序,long*转long 出错
    当前安全设置不允许下载该文件的原因以及图文解决办法
    IndentationError: unindent does not match any outer indentation level
    MongoDB状态查询:db.serverStatus()
    bson.errors.InvalidStringData: strings in documents must be valid UTF-8
    Transformer的PyTorch实现
  • 原文地址:https://www.cnblogs.com/xiaoyuaixiami/p/5211018.html
Copyright © 2011-2022 走看看