记录一次Quartz2D学习(三)

在(二)内,讲到了几何图形的绘制,这次就讲文本与图片的绘制

3 图片与文本

  3.1 文本绘制

- (void)drawRect:(CGRect)rect {

     NSString * str = @"粉红色客户的会计法环境的舒服教科书的回复 阿道夫噶的粉红色打飞机就阿斯顿发布 接口vb性支出健康不好看Vvjkczx比较快Vvb方会计师赶快就进口非健康G空间毒奶粉 看就开饭你看见你程序们只能加快农村新,展现出美女看V刹你先出美女才V型标注, 就不能付款就阿拉尼发个链接看见了";

    //获取绘制上下文

    CGContextRef    ctx =UIGraphicsGetCurrentContext();

    

    NSMutableDictionary *  dic =[NSMutableDictionary dictionary];

    //字体颜色

    dic[NSForegroundColorAttributeName] = [UIColor redColor];

    //背景颜色

    dic[NSBackgroundColorAttributeName] = [UIColor greenColor];

    //字体大小

    dic[NSFontAttributeName] = [UIFont systemFontOfSize:12];

    //将文字从这个点开始渲染,超过部分不会显示  不会换行

    [str drawAtPoint:CGPointMake(200, 200) withAttributes:dic];

    //将文字显示在某个矩形区域,自动换行,超出部分不会显示,

    [str drawInRect:CGRectMake(0, 0, 100, 100) withAttributes:dic];

       //需要给矩形一个方框,就在矩形区域绘制一个空心矩形

}

 

 

 3.2 图片的绘制:将图片绘制到layer上面 -- 效果暂不做展示

- (void)drawRect:(CGRect)rect {

    //加载图片

    UIImage * tempImg = [UIImage imageNamed:@"二维码"];

    //将图片绘制到某点上,以图片的左上角为起始点

    [tempImg drawAtPoint:CGPointMake(0,0)];

    //将图片绘制到放行区域内,不重复

    [tempImg drawInRect:CGRectMake(0, 0, 100, 100)];

    //将图片重复地放置在某个某个区域内

    [tempImg drawAsPatternInRect:CGRectMake(0, 0, 300, 500)];

}

 

 

 

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/thxios/p/5143288.html