相关疑难解决方法(0)

21
推荐指数
5
解决办法
2万
查看次数

UIView drawRect:绘制倒像素,制作一个洞,一个窗口,负空间

使用下面的代码,我绘制一个圆角矩形.它绘制了一个漂亮的浅灰色填充圆角矩形(大小为"self").我实际上想绘制这个像素的倒数,即:不是一个实心的圆角矩形,而是一个实心的浅灰色矩形中这个圆形矩形形状的窗口或孔.

我需要使用反向剪辑方法吗?或者我需要使用bezier路径?借口如果这是非常基本的,虽然找不到信息.

谢谢阅读!

- (void)drawRect:(CGRect)rect
{

    // get the context
    CGContextRef context = UIGraphicsGetCurrentContext

    CGContextSaveGState(context);    

    //draw the rounded rectangle
    CGContextSetStrokeColorWithColor(context, [[UIColor blackColor] CGColor]);
    CGContextSetRGBFillColor(context, 0.8, 0.8, 0.8, 1.0);
    CGContextSetLineWidth(context, _lineWidth);

    CGRect rrect = CGRectMake(CGRectGetMinX(rect), CGRectGetMinY(rect), CGRectGetWidth(rect), CGRectGetHeight(rect));
    CGFloat radius = _cornerRadius;

    CGFloat minx = CGRectGetMinX(rrect), midx = CGRectGetMidX(rrect), maxx = CGRectGetMaxX(rrect);
    CGFloat miny = CGRectGetMinY(rrect), midy = CGRectGetMidY(rrect), maxy = CGRectGetMaxY(rrect);

    CGContextMoveToPoint(context, minx, midy);
    // Add an arc through 2 to 3
    CGContextAddArcToPoint(context, minx, miny, midx, miny, radius);
    // Add …
Run Code Online (Sandbox Code Playgroud)

core-graphics drawrect ios

3
推荐指数
1
解决办法
3934
查看次数

标签 统计

ios ×2

core-graphics ×1

drawrect ×1

ipad ×1

iphone ×1

uiimage ×1