IOS Quartz2D 通過UIColor產生圖片,

來源:互聯網
上載者:User

IOS Quartz2D 通過UIColor產生圖片,

普通產生

範例程式碼:

//這裡實現普通產生圖片的方法- (void)drawRect:(CGRect)rect {    CGRect cxRect = CGRectMake(0, 0, 100, 100);        UIGraphicsBeginImageContextWithOptions(cxRect.size, NO, 0);        [[UIColor redColor] setFill];        UIRectFill(cxRect);        UIImage * image = UIGraphicsGetImageFromCurrentImageContext();        UIGraphicsEndImageContext();        UIImageView * imageView = [[UIImageView alloc]initWithFrame:CGRectMake(20, 20, 100, 100)];        imageView.image = image;        [self addSubview:imageView];}

漸層顏色產生

範例程式碼:

//這裡實現漸層顏色產生圖片的方法- (void)drawRect:(CGRect)rect {    CGRect cxRect = CGRectMake(0, 0, 1, 1);    UIGraphicsBeginImageContextWithOptions(cxRect.size, NO, 0);    CGContextRef context = UIGraphicsGetCurrentContext();    UIColor * beginColor = [UIColor greenColor];    UIColor * endColor = [UIColor redColor];    drawLinearGradient(context, cxRect, beginColor.CGColor, endColor.CGColor);    CGContextRestoreGState(context);        UIImage *image = UIGraphicsGetImageFromCurrentImageContext();    UIGraphicsEndImageContext();    UIImageView * imageView = [[UIImageView alloc]initWithFrame:CGRectMake(20, 20, 100, 100)];        imageView.image = image;        [self addSubview:imageView];}void drawLinearGradient(CGContextRef context, CGRect rect, CGColorRef startColor, CGColorRef endColor){    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();    CGFloat locations[] = { 0.0, 1.0 };        NSArray *colors = @[(__bridge id) startColor, (__bridge id) endColor];        CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, (__bridge CFArrayRef) colors, locations);    CGPoint startPoint = CGPointMake(rect.size.width/2, 0);    CGPoint endPoint = CGPointMake(rect.size.width/2, rect.size.height/1.5);        CGContextSaveGState(context);    CGContextAddRect(context, rect);    CGContextClip(context);    CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, 0);    CGContextSetStrokeColorWithColor(context, [[UIColor clearColor] CGColor]);}

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.