gpt4 book ai didi

ios - CGImageCreate 复制与 CGImage 保留

转载 作者:可可西里 更新时间:2023-11-01 05:55:52 49 4
gpt4 key购买 nike

A CGImageRef 似乎没有任何变异操作。复制 CGImageRef 不会复制 CGDataProviderRef(通过实验确定)。因此,如果 CGImageRef 是不可变类型,是否有任何理由来copyretain

最佳答案

A CGImageRef doesn't appear to have any mutating operations

没有公共(public)函数可以修改CGImage,但这并不意味着CGImageRef 是不可变的。 CGImageRef 是不透明的,即没有记录内部结构,但仍然有修改它的方法。

CGImageRef imageRef = ...
struct CGImage image = *imageRef;
//if you know the internal structure, you can do things like
image.provider = ...

我猜想 Core Graphics 经常对图像进行内部复制,例如,CGImageCreateCopyWithColorSpace 可能在内部使用了 CGImageCreateCopy。也可以在绘制图像时进行复制。

当然,这是一个非常好的“子类化”设计(不是真正的子类化,因为我们有结构,而不是对象)。

关于ios - CGImageCreate 复制与 CGImage 保留,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16706357/

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