将 CPImage 剪裁成圆形或其他形状

发布于 2024-09-11 06:41:06 字数 414 浏览 6 评论 0原文

我有一个像这样的矩形 CPImage 设置,所以

    var img = [[CPImage alloc] initWithContentsOfFile:"Resources/img.jpg""];

我想在我的 CPView 子类中将其显示在一个圆圈中,其中剪切的图像部分(位于日食之外的部分)保持透明。我尝试过这个:

- (void)drawRect:(CGRect)aRect
{    
    var path = [CPBezierPath bezierPathWithOvalInRect:aRect];

    [[CPColor colorWithPatternImage:img] set];
    [path fill];
}

但我只是得到一个黑圈。

I have a rectangular CPImage setup like so

    var img = [[CPImage alloc] initWithContentsOfFile:"Resources/img.jpg""];

I'd like to display that in my CPView subclass in a circle with the part of the image clipped (what lies outside the eclipse) remaining transparent. I tried this:

- (void)drawRect:(CGRect)aRect
{    
    var path = [CPBezierPath bezierPathWithOvalInRect:aRect];

    [[CPColor colorWithPatternImage:img] set];
    [path fill];
}

but I just get a black circle.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟雨扶苏 2024-09-18 06:41:06

这里的问题是你还不能在卡布奇诺中使用图像来填充。因此,即使您使用的命令在技术上是正确的,它也会像您发现的那样变成黑色。我不知道有什么解决办法,但您可以尝试发布到卡布奇诺用户列表,然后看看现在是否有人正在研究这个功能。

The problem here is that you can't use an image to fill with (yet) in Cappuccino. So it'll just turn out black like you discovered, even that the commands you're using are technically correct. I'm not aware of a work around but you could try posting to the Cappuccino user list and see if anyone is working on this feature right now.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文