1、畫直線
代碼:
//
// YYlineview.m
// 03-畫直線
//
// Created by apple on 14-6-9.
// Copyright (c) 2014年 itcase. All rights reserved.
//
#import "YYlineview.h"
@implementation YYlineview
// 當自界說view第一次顯示出來的時刻就會挪用drawRect辦法
- (void)drawRect:(CGRect)rect
{
// 1.獲得和以後視圖相干聯的圖形高低文(由於圖形高低文決議繪制的輸入目的)/
// 假如是在drawRect辦法中挪用UIGraphicsGetCurrentContext辦法獲得出來的就是Layer的高低文
CGContextRef ctx=UIGraphicsGetCurrentContext();//不須要*,同id
// 2.畫圖(繪制直線), 保留畫圖信息
// 設置終點
CGContextMoveToPoint(ctx, 20, 100);
//設置起點
CGContextAddL.netoPoint(ctx, 300, 100);
//設置畫圖的狀況
//設置線條的色彩為藍色
CGContextSetRGBStrokeColor(ctx, 0, 1.0, 0, 1.0);
//設置線條的寬度
CGContextSetLineWidth(ctx, 15);
//設置線條終點和起點的款式為圓角
CGContextSetLineCap(ctx, kCGLineCapRound);
//設置線條的轉角的款式為圓角
CGContextSetLineJoin(ctx, kCGLineJoinRound);
//3.襯著(繪制出一條空心的線)
CGContextStrokePath(ctx);
// //留意線條不克不及襯著為實心的
// CGContextFillPath(ctx);
//設置第二條線
//設置第二條線的終點
CGContextMoveToPoint(ctx, 50, 200);
//設置第二天線的起點(主動把上一條直線的起點當作終點)
CGContextAddL.netoPoint(ctx, 300, 60);
//設置畫圖的狀況
// CGContextSetRGBStrokeColor(ctx, 1.0, 0.7, 0.3, 1.0);
//第二種設置色彩的方法
[[UIColor grayColor] set];
//設置線條的寬度
CGContextSetLineWidth(ctx, 10);
//設置線條的終點和起點的款式
CGContextSetLineCap(ctx, kCGLineCapButt);
//襯著第二條線的圖形到view上
//繪制一條空心的線
CGContextStrokePath(ctx);
}
@end
後果:
2、畫三角形
代碼:
//
// YYrectview.m
// 02-畫三角形
//
// Created by 孔醫己 on 14-6-10.
// Copyright (c) 2014年 itcast. All rights reserved.
//
#import "YYrectview.h"
@implementation YYrectview
- (void)drawRect:(CGRect)rect
{
//1.取得圖形高低文
CGContextRef ctx=UIGraphicsGetCurrentContext();
//2.繪制三角形
//設置終點
CGContextMoveToPoint(ctx, 20, 100);
//設置第二個點
CGContextAddL.netoPoint(ctx, 40, 300);
//設置第三個點
CGContextAddLineToPoint(ctx, 200, 200);
//設置起點
// CGContextAddLineToPoint(ctx, 20, 100);
//封閉終點和起點
CGContextClosePath(ctx);
// 3.襯著圖形到layer上
CGContextStrokePath(ctx);
}
@end
後果:
提醒:封閉終點和起點 CGContextClosePath(ctx);
3、畫四邊形
代碼:
//
// YYrect.m
// 03-畫四邊形
//
// Created by 孔醫己 on 14-6-10.
// Copyright (c) 2014年 itcast. All rights reserved.
//
#import "YYrect.h"
@implementation YYrect
- (void)drawRect:(CGRect)rect
{
//1.獲得圖形高低文
CGContextRef ctx=UIGraphicsGetCurrentContext();
//2.畫四邊形
CGContextAddRect(ctx, CGRectMake(20, 20, 150, 100));
// 假如要設置畫圖的狀況必需在襯著之前
// CGContextSetRGBStrokeColor(ctx, 1.0, 0, 0, 1.0);
// 繪制甚麼類型的圖形(空心或許實心).就要經由過程甚麼類型的辦法設置狀況
// CGContextSetRGBFillColor(ctx, 1.0, 0, 0, 1.0);
// 挪用OC的辦法設置畫圖的色彩
// [[UIColor purpleColor] setFill];
// [[UIColor blueColor] setStroke];
// 挪用OC的辦法設置畫圖色彩(同時設置了實心和空心)
// [[UIColor greenColor] set];
[[UIColor colorWithRed:1.0 green:0 blue:0 alpha:1.0] set];
//3.襯著圖形到layer上
//空心的
CGContextStrokePath(ctx);
//實心的
// CGContextFillPath(ctx);
}
@end
提醒:假如要設置畫圖的狀況必需在襯著之前。
後果(實心和空心):
4、畫圓
代碼1:
- (void)drawRect:(CGRect)rect
{
// 1.獲得高低文
CGContextRef ctx = UIGraphicsGetCurrentContext();
// 畫圓
CGContextAddArc(ctx, 100, 100, 50, 0, 2 * M_PI, 0);
// 3.襯著 (留意, 畫線只能經由過程空心來畫)
// CGContextFillPath(ctx);
CGContextStrokePath(ctx);
}
後果:
代碼2:
// 畫圓
// 1.獲得高低文
CGContextRef ctx = UIGraphicsGetCurrentContext();
// 2.畫圓
CGContextAddEllipseInRect(ctx, CGRectMake(50, 100, 50, 50));
[[UIColor greenColor] set];
// 3.襯著
// CGContextStrokePath(ctx);
CGContextFillPath(ctx);
後果:
代碼3:
// 畫橢圓
// 1.獲得高低文
CGContextRef ctx = UIGraphicsGetCurrentContext();
// 2.畫圓
CGContextAddEllipseInRect(ctx, CGRectMake(50, 100, 100, 230));
[[UIColor purpleColor] set];
// 3.襯著
// CGContextStrokePath(ctx);
CGContextFillPath(ctx);
後果:
5、畫圓弧
代碼1:
// 畫圓弧
// 1.獲得高低文
CGContextRef ctx = UIGraphicsGetCurrentContext();
// 2.畫圓弧
// x/y 圓心
// radius 半徑
// startAngle 開端的弧度
// endAngle 停止的弧度
// clockwise 畫圓弧的偏向 (0 順時針, 1 逆時針)
// CGContextAddArc(ctx, 100, 100, 50, -M_PI_2, M_PI_2, 0);
CGContextAddArc(ctx, 100, 100, 50, M_PI_2, M_PI, 0);
CGContextClosePath(ctx);
// 3.襯著
// CGContextStrokePath(ctx);
CGContextFillPath(ctx);
後果:
代碼2:
// 1.獲得高低文
CGContextRef ctx = UIGraphicsGetCurrentContext();
// 2.畫餅狀圖
// 畫線
CGContextMoveToPoint(ctx, 100, 100);
CGContextAddLineToPoint(ctx, 100, 150);
// 畫圓弧
CGContextAddArc(ctx, 100, 100, 50, M_PI_2, M_PI, 0);
// CGContextAddArc(ctx, 100, 100, 50, -M_PI, M_PI_2, 1);
// 封閉途徑
CGContextClosePath(ctx);
[[UIColor brownColor]set];
// 3.襯著 (留意, 畫線只能經由過程空心來畫)
CGContextFillPath(ctx);
// CGContextStrokePath(ctx);
後果:
6、畫文字
代碼:
//
// YYtextview.m
// 04-寫文字
//
// Created by 孔醫己 on 14-6-10.
// Copyright (c) 2014年 itcast. All rights reserved.
//
#import "YYtextview.h"
@implementation YYtextview
- (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:
//
// YYimage.m
// 04-寫文字
//
// Created by 孔醫己 on 14-6-10.
// Copyright (c) 2014年 itcast. All rights reserved.
//
#import "YYimage.h"
@implementation YYimage
- (void)drawRect:(CGRect)rect
{
// 1.加載圖片到內存中
UIImage *image = [UIImage imageNamed:@"me"];
// 應用drawaspatternInRec辦法繪制圖片到layer, 是經由過程平鋪原有圖片
[image drawaspatternInRect:CGRectMake(0, 0, 320, 480)];
}
@end
後果(平鋪):
代碼2:
#import "YYimage.h"
@implementation YYimage
- (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:
//
// YYimage.m
// 04-寫文字
//
// Created by 孔醫己 on 14-6-10.
// Copyright (c) 2014年 itcast. All rights reserved.
//
#import "YYimage.h"
@implementation YYimage
- (void)drawRect:(CGRect)rect
{
// 1.加載圖片到內存中
UIImage *image = [UIImage imageNamed:@"me"];
// 應用OC辦法將圖片繪制到layer上
// 將圖片繪制到指定的地位
[image drawAtPoint:CGPointMake(100, 100)];
}
後果(把圖片繪制到一個固定的地位):
【iOS開辟中Quartz2D的根本應用方法舉例】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!