记录一次Quartz2D学习(三)

时间:2021-08-24 00:28:19

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

3 图片与文本

  3.1 文本绘制

- (void)drawRect:(CGRect)rect {

NSString * str = @"粉红色客户的会计法环境的舒服教科书的回复 阿道夫噶的粉红色打飞机就阿斯顿发布 接口vb性支出健康不好看V字vjkczx比较快V刹vb方会计师赶快就进口非健康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];

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

}

记录一次Quartz2D学习(三)

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)];

}