您的位置:首页 > 移动开发 > IOS开发

iOS陆哥开发笔记(十六) (Quartz2D简单使用二)

2016-04-14 17:54 477 查看
一、画文字

#import "MMTextView.h"

@implementation MMTextView

- (void)drawRect:(CGRect)rect

{

// 画文字

NSString *str = @"的额搜风搜分手了粉色发俄双方说法offFF瓦房你F回复F入会费WFH;飞;FN返回WFH;哦发货;F回复;FHISFHSIFH我皮肤好APIFRHi分红AWFHIOF威锋网i";

// 1.获取上下文

// CGContextRef ctx = UIGraphicsGetCurrentContext();

// 2.绘图

// 不推荐使用C语言的方法绘制文字, 因为quraz2d中的坐标系和UIkit中的坐标系不一致, 绘制出来的文字是颠倒的, 而且通过C语言的方法绘制文字相当麻烦

// CGContextSelectFont(<#CGContextRef c#>, <#const char *name#>, <#CGFloat size#>, <#CGTextEncoding textEncoding#>)

// CGContextShowText(ctx, <#const char *string#>, <#size_t length#>)

// 绘制矩形

// 1.获取上下文

CGContextRef ctx = UIGraphicsGetCurrentContext();

// 2.绘图

CGContextAddRect(ctx, CGRectMake(50, 50, 100, 100));

// 3.渲染

CGContextStrokePath(ctx);

// NSMutableDictionary *md = [NSMutableDictionary dictionary];

// 设置文字颜色

// md[NSForegroundColorAttributeName] =[UIColor redColor];

// 设置文字背景颜色

// md[NSBackgroundColorAttributeName] = [UIColor greenColor];

// 设置文字大小

// md[NSFontAttributeName] = [UIFont systemFontOfSize:20];

// 将文字绘制到指点的位置

// [str drawAtPoint:CGPointMake(10, 10) withAttributes:md];

// 将文字绘制到指定的范围内, 如果一行装不下会自动换行, 当文字超出范围后就不显示

[str drawInRect:CGRectMake(50, 50, 100, 100)
withAttributes:nil];

}

@end



二、图片

(1、)

#import "MMImage.h"

@implementation MMImage

- (void)drawRect:(CGRect)rect

{

// 1.加载图片到内存中

UIImage *image = [UIImage imageNamed:@"me"];

// 利用drawAsPatternInRec方法绘制图片到layer, 是通过平铺原有图片

[image drawAsPatternInRect:CGRectMake(0, 0, 320, 480)];

}

@end

效果(平铺):



(2、)

#import "MMImage.h"

@implementation MMImage

- (void)drawRect:(CGRect)rect

{

// 1.加载图片到内存中

UIImage *image = [UIImage imageNamed:@"me"];

// 利用OC方法将图片绘制到layer上

// 利用drawInRect方法绘制图片到layer, 是通过拉伸原有图片

[image drawInRect:CGRectMake(0, 0, 200, 200)];

// 利用drawAsPatternInRec方法绘制图片到layer, 是通过平铺原有图片

// [image drawAsPatternInRect:CGRectMake(0, 0, 320, 480)];

}

@end



(3、)

#import "MMImage.h"

@implementation MMImage

- (void)drawRect:(CGRect)rect

{

// 1.加载图片到内存中

UIImage *image = [UIImage imageNamed:@"me"];

// 利用OC方法将图片绘制到layer上

// 将图片绘制到指定的位置

[image drawAtPoint:CGPointMake(100, 100)];

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: