【发布时间】:2012-04-06 13:25:58
【问题描述】:
我正在尝试在 CALayer 上绘制图像。我只需要一张图片,所以我创建了我的后期如下:
CALayer *layer = [CALayer layer];
我按如下方式添加我的图像:
NSImage *img = [[NSImage alloc] initWithContentsOfFile:@"path/to/img.png"];
[layer setContents:img];
这可行,但它会绘制我的图像以填充整个父框架(在此过程中拉伸我的图像)。
阅读文档,我发现以下内容:
[layer setContentsGravity:@"kCAGravityBottomLeft"];
我试图在父框架的左下角绘制我的图像,但是无论我做什么,它都会在底部中心绘制我的图标。反正有指定左下角吗?
【问题讨论】:
-
如何设置图层的帧大小以与图像尺寸完全匹配,并使用将其定位在相对于视图的位置的原点?重新拉伸,查看 UIView 的
sizeToFit和sizeThatFits。但我对图像的工作不多,所以这主要是猜测。 -
@Wienke 先试过了,它似乎坚持要留在图像的底部中心。
标签: objective-c macos core-animation