iOS图形处理相关程序员iOS学习笔记

iOS/OC:Quartz2D绘制带阴影的不规则图形

2016-11-29  本文已影响355人  疯狂的向日葵

版权声明:本文为博主原创文章,未经博主允许不得转载。

有些图是自己可以绘制的,性能也不错,总让UI切图安装包实在略大

下面是一个用Quartz2D绘制不规则图形并添加阴影的示例

示例如下
SharpShadow.h
#import <UIKit/UIKit.h>

@interface SharpShadow : UIView

@end
SharpShadow.m
#import "SharpShadow.h"

@implementation SharpShadow

- (instancetype)initWithFrame:(CGRect)frame{
    if (self = [super initWithFrame:frame]) {
        self.backgroundColor = [UIColor whiteColor];
    }
    return self;
}

- (void)drawRect:(CGRect)rect{
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetShadowWithColor(context, CGSizeMake(5, 5), 10.0f, [UIColor blueColor].CGColor);//添加阴影
    CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
    CGContextMoveToPoint(context, 10, 10);
    CGContextAddLineToPoint(context, 200, 10);
    CGContextAddLineToPoint(context, 200, 50);
    CGContextAddArc(context, 200, 80, 30.0f, M_PI*3/2, M_PI/2, YES);
    CGContextAddLineToPoint(context, 200, 200);
    CGContextAddLineToPoint(context, 10, 200);
    CGContextClosePath(context);
    CGContextFillPath(context);
    [super drawRect:rect];
}

@end

显示结果如下~一张带阴影的卡片


绘制带阴影的不规则图形.png
上一篇下一篇

猜你喜欢

热点阅读