gpt4 book ai didi

iphone - 如何获取 CALayer 的上下文加上它周围的几个像素?

转载 作者:行者123 更新时间:2023-12-01 18:01:41 26 4
gpt4 key购买 nike

我正在创建一个具有阴影效果的图层。我不想将它作为子层添加到我的 View 层,而是想绘制它。但是我无法使用阴影效果来绘制它。问题是上下文大小是基于层大小的。但是我如何为上下文设置矩形?!

CALayer *layer = [CALayer layer];
layer.frame = ...;
layer.backgroundColor = [UIColor redColor].CGColor;
layer.cornerRadius = 2.0;
layer.masksToBounds = NO;
layer.shadowColor = [[UIColor whiteColor] CGColor];
layer.shadowOffset = CGSizeMake(0, 1);
layer.shadowRadius = 0.5;
layer.shadowOpacity = 0.2;
[self.layer addSublayer:layer];
UIGraphicsBeginImageContext(layer.bounds.size);
[layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[viewImage drawAtPoint:CGPointMake(0, 0)];
[layer removeFromSuperlayer];

使用上面的代码,我得到的是盒子,但没有一些额外的阴影填充像素(在所有四个面上)。如果我增加 ImageContext 的大小,我得到的只是更多的高度和宽度,但仍然从 x=0 和 y=0 开始,我希望它从 x=-5、y=-5 或类似的东西开始那。

enter image description here

非常感谢!

最佳答案

使您的上下文在 x 和 y 上都大 10 像素。

然后在绘制图层之前执行 CGContextTranslateCTM(context,5,5);

希望这可以帮助!

关于iphone - 如何获取 CALayer 的上下文加上它周围的几个像素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8795940/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com