Objective-C ios 그래픽의 다양한 선 그리기
IOS 그래픽 // COLOR1
// COLOR1, COLOR2
#define COLOR1 [UIColor colorWithRed:1.0 green:0.2 blue:0.31 alpha:1.0]
#define COLOR2 [UIColor colorWithRed:0.5 green:0.2 blue:0.51 alpha:1.0]
선 그리기
// drawRect setNeedsDisplay
// drawRect , setNeedsDisplay
- (void)drawRect:(CGRect)rect {
//
CGContextRef context = UIGraphicsGetCurrentContext();
//
[COLOR1 setStroke];
//
CGContextSetLineWidth(context, 2.0);
//
CGContextMoveToPoint(context, 100, 200);
//
CGContextAddLineToPoint(context, 100, 300);
//
CGContextStrokePath(context);
}
직사각형 그리기
//
// setFill , CGContextDrawPath
- (void) drawCustomRect {
CGContextRef context = UIGraphicsGetCurrentContext();
[COLOR2 setFill];
CGContextSetLineWidth(context, 2.0);
//
CGContextAddRect(context, CGRectMake(100, 400, 100, 200));
// CGContextStrokePath(context);
CGContextDrawPath(context, kCGPathFillStroke);
}
삼각형 그리기
CGContextRef context = UIGraphicsGetCurrentContext();
[COLOR2 setFill];
CGContextSetLineWidth(context, 2.0);
//
CGMutablePathRef pathRef = CGPathCreateMutable();
//
CGPathMoveToPoint(pathRef, nil, 100, 200);
CGPathAddLineToPoint(pathRef, nil, 200, 300);
CGPathAddLineToPoint(pathRef, nil, 0, 30);
//
CGContextAddPath(context, pathRef);
// CGContextStrokePath(context);
//
CGContextDrawPath(context, kCGPathFillStroke);
임의의 아크 그리기
CGContextRef context = UIGraphicsGetCurrentContext();
[COLOR2 setFill];
CGContextSetLineWidth(context, 2.0);
//
CGMutablePathRef pathRef = CGPathCreateMutable();
//
CGPathMoveToPoint(pathRef, nil, 100, 200);
CGContextAddCurveToPath(context, 200, 100, 200, 300, 300, 200);
CGContextAddPath(context, pathRef);
// CGContextStrokePath(context);
//
CGContextDrawPath(context, kCGPathFillStroke);
원형 그리기
CGContextRef context = UIGraphicsGetCurrentContext();
[COLOR1 setFill];
CGContextSetLineWidth(context, 2.0);
// :
//
// CGContextAddArc(, , ,
// , , , )
// x, y:
// radius:
// startAngle: (0-M_PI*2)
// endangle:
// clockwise: ,0 ,1
//
// M_PI
// CGContextClosePath(content);
CGContextAddArc(context, 200, 200, 150, 0, M_PI*2, 0);
CGContextAddPath(context, pathRef);
CGContextDrawPath(context, kCGPathFillStroke);
그리는 속성
// CGContextSetLineCap(context, KCGLineCapRound);
// ,KCGLineCapRound
//
// CGContextSetLineJoin(context, KCGLineJoinRound);
// ,KCGLineJoinRound
//
- (void) drawRect:(CGRect) rect {
CGContextRef context = UIGraphicsGetCurrentContext();
[COLOR1 setStroke];
CGContextSetLineWidth(context, 2.0);
CGContextSetLineCap(context, KCGLineCapRound);
CGContextSetLineJoin(context, KCGLineJoinRound);
CGContextMoveToPoint(context, 100, 200);
CGContextAddLineToPoint(context, 100, 300);
CGContextStrokePath(context);
}
점선 그리기
//
//
- (void) drawRect:(CGRect) rect {
CGContextRef context = UIGraphicsGetCurrentContext();
[COLOR1 setStroke];
CGContextSetLineWidth(context, 2.0);
CGFloat length[] = {10, 30, 10};
// :context
// :
// :
// :
CGContextSetLineDash(context, 0, length, 3);
CGContextMoveToPoint(context, 100, 200);
CGContextAddLineToPoint(context, 100, 300);
CGContextStrokePath(context);
}
UIView drawRect 메서드 호출 기준
// COLOR1
// COLOR1, COLOR2
#define COLOR1 [UIColor colorWithRed:1.0 green:0.2 blue:0.31 alpha:1.0]
#define COLOR2 [UIColor colorWithRed:0.5 green:0.2 blue:0.51 alpha:1.0]
// drawRect setNeedsDisplay
// drawRect , setNeedsDisplay
- (void)drawRect:(CGRect)rect {
//
CGContextRef context = UIGraphicsGetCurrentContext();
//
[COLOR1 setStroke];
//
CGContextSetLineWidth(context, 2.0);
//
CGContextMoveToPoint(context, 100, 200);
//
CGContextAddLineToPoint(context, 100, 300);
//
CGContextStrokePath(context);
}
//
// setFill , CGContextDrawPath
- (void) drawCustomRect {
CGContextRef context = UIGraphicsGetCurrentContext();
[COLOR2 setFill];
CGContextSetLineWidth(context, 2.0);
//
CGContextAddRect(context, CGRectMake(100, 400, 100, 200));
// CGContextStrokePath(context);
CGContextDrawPath(context, kCGPathFillStroke);
}
CGContextRef context = UIGraphicsGetCurrentContext();
[COLOR2 setFill];
CGContextSetLineWidth(context, 2.0);
//
CGMutablePathRef pathRef = CGPathCreateMutable();
//
CGPathMoveToPoint(pathRef, nil, 100, 200);
CGPathAddLineToPoint(pathRef, nil, 200, 300);
CGPathAddLineToPoint(pathRef, nil, 0, 30);
//
CGContextAddPath(context, pathRef);
// CGContextStrokePath(context);
//
CGContextDrawPath(context, kCGPathFillStroke);
CGContextRef context = UIGraphicsGetCurrentContext();
[COLOR2 setFill];
CGContextSetLineWidth(context, 2.0);
//
CGMutablePathRef pathRef = CGPathCreateMutable();
//
CGPathMoveToPoint(pathRef, nil, 100, 200);
CGContextAddCurveToPath(context, 200, 100, 200, 300, 300, 200);
CGContextAddPath(context, pathRef);
// CGContextStrokePath(context);
//
CGContextDrawPath(context, kCGPathFillStroke);
CGContextRef context = UIGraphicsGetCurrentContext();
[COLOR1 setFill];
CGContextSetLineWidth(context, 2.0);
// :
//
// CGContextAddArc(, , ,
// , , , )
// x, y:
// radius:
// startAngle: (0-M_PI*2)
// endangle:
// clockwise: ,0 ,1
//
// M_PI
// CGContextClosePath(content);
CGContextAddArc(context, 200, 200, 150, 0, M_PI*2, 0);
CGContextAddPath(context, pathRef);
CGContextDrawPath(context, kCGPathFillStroke);
// CGContextSetLineCap(context, KCGLineCapRound);
// ,KCGLineCapRound
//
// CGContextSetLineJoin(context, KCGLineJoinRound);
// ,KCGLineJoinRound
//
- (void) drawRect:(CGRect) rect {
CGContextRef context = UIGraphicsGetCurrentContext();
[COLOR1 setStroke];
CGContextSetLineWidth(context, 2.0);
CGContextSetLineCap(context, KCGLineCapRound);
CGContextSetLineJoin(context, KCGLineJoinRound);
CGContextMoveToPoint(context, 100, 200);
CGContextAddLineToPoint(context, 100, 300);
CGContextStrokePath(context);
}
//
//
- (void) drawRect:(CGRect) rect {
CGContextRef context = UIGraphicsGetCurrentContext();
[COLOR1 setStroke];
CGContextSetLineWidth(context, 2.0);
CGFloat length[] = {10, 30, 10};
// :context
// :
// :
// :
CGContextSetLineDash(context, 0, length, 3);
CGContextMoveToPoint(context, 100, 200);
CGContextAddLineToPoint(context, 100, 300);
CGContextStrokePath(context);
}
그림 그리기
//
// drawRect
UIImage *image = [UIImage imageNamed:@"1.png"];
//
[image drawAtPoint:CGPointMake(100, 100)];
// ,
[image drawInRect:CGRectMake(100, 100, 300, 600)];
// ,
[image drawAsPatternInRect:CGRectMake(100, 100, 300, 600)];
그림의 재단
//
// AddEllipse , ,
// CGContextClip
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGContextAddEllipseInRect(context, CGRectMake(150, 150, 60, 60));
CGContextClip(context);
CGContextFillPath(context);
UIImage *img = [UIImage imageNamed:@"1.png"];
[img drawAtPoint:CGPointMake(150, 150)];
CGContextFillPath(context);
CGContextRestoreGState(context);
텍스트 로고의 그리기
//
//
NSString *str = @"hello world.";
// UIImage *img = [UIImage imageNamed:@"1.png"];
// [img drawAtPoint:CGPointMake(100, 100)];
// log ,
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle defaultParagraphStyle] mutableCopy];
paragraphStyle.lineBreakMode = NSLineBreakByClipping;
NSDictionary *dic = @{NSFontAttributeName:[UIFont systemFontOfSize:10.0],
NSParagraphStyleAttributeName:paragraphStyle,
NSForgroundColorAttributeName:[UIColor greenColor]};
//
[str drawInRect:CGRectMake(100, 100, 100, 10) withAttributes:dic];
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.