zoukankan      html  css  js  c++  java
  • iOS 学习

    绘制到位图

    下面利用位图图形上下文给一个图片添加水印,在下面的程序中我们首先创建上下文,然后在上下文中绘制图片、直线和文本,最后从当前位图上下文中取得最终形成的新图片显示到界面

    - (void)viewDidLoad {
        [super viewDidLoad];
        
        UIImage *image = [self drawImageAtImageContext];
        UIImageView *imageView = [[UIImageView alloc]initWithImage:image];
        imageView.center = CGPointMake(160, 282);
        [self.view addSubview:imageView];
        
    }
    //添加水印
    -(UIImage *)drawImageAtImageContext{
        //获得一个位图图形上下文
        CGSize size = CGSizeMake(300, 188);//画布大小
        
        UIGraphicsBeginImageContext(size);
        
        UIImage *image = [UIImage imageNamed:@"frame_shop_lovely_bg@2x.jpg"];
        //注意绘图的位置是相对于画布顶点而言,不是屏幕
        [image drawInRect:CGRectMake(0, 0, 300, 188)];
        //添加水印
        CGContextRef ref = UIGraphicsGetCurrentContext();
        //字符的长度和 font
        UIFont *font = [UIFont systemFontOfSize:15];
        NSString *str = @"大金毛";
        int strLength = str.length *font.pointSize;
        //两点确定一条直线
        //下划线的长度等于字符长度
        CGContextMoveToPoint(ref, 200, 178);
        CGContextAddLineToPoint(ref, strLength + 200, 178);
        //直线的颜色、宽度
        [[UIColor redColor]setStroke];
        CGContextSetLineWidth(ref, 2);
        //绘制图像到指定图形上下文,只有边框
        CGContextDrawPath(ref, kCGPathStroke);
        //字符的位置
        [str drawInRect:CGRectMake(200, 158, 100, 30) withAttributes:@{NSFontAttributeName:font,NSForegroundColorAttributeName:[UIColor redColor]}];
        //返回绘制的新图形
        UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
        //最后一定不要忘了关闭上下文
        UIGraphicsEndImageContext();
        
        return newImage;
    }

    来自KenshinCui

  • 相关阅读:
    系统可靠性计算
    jira与readmine区别
    linux下批量替换文件内容
    JMeter学习(十九)JMeter测试MongoDB
    mongoVUE1.5.3 破解方法
    Junit使用GroboUtils进行多线程测试
    JMeter学习(十八)JMeter测试Java(二)
    JMeter学习(十七)JMeter测试Java
    Tomcat 和 Resin 比较,哪个更适合你?
    JMeter学习(十四)JMeter监控Tomcat性能
  • 原文地址:https://www.cnblogs.com/asamu/p/5501520.html
Copyright © 2011-2022 走看看